Announcement

Collapse
No announcement yet.

Plugin question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Plugin question

    Hello!

    I am working on providing input and visualization plug-ins for the FamiTracker community. I have the input plugin mostly working, just dealing with some seeking issues.

    But here's the thing. A single FamiTracker Module (.FTM) file can contain multiple song tracks. I would like some way to be able to hook this to the <</>> buttons on the UI. So if a FTM module is loaded that has multiple tracks, then pressing <</>> will move within those [within the same file] before moving to the previous/next file.

    I'm not sure if there's a way to do this. I'm crawling through wa_ipc.h for possible messages to send.

    In the meanwhile the majority of FTM files are single-track, so the UI as-is will suffice. I just thought it'd be nice to support multi-subtrack navigation.

    Lastly, are there any source examples of visualizer plugins?

  • #2
    This post is information all from memory so if someone says something different then don't worry about my post much.


    For modifying the functionality of the <</>> buttons you'll probably have to subclass the main window and then watch for WM_COMMAND (if memory serves) messages. The specifications for what to look for is not in wa_ipc.h so I'll go ahead and provide it here:
    code:
    #ifndef WINAMP_FILE_QUIT
    #define WINAMP_FILE_QUIT 40001
    #define WINAMP_OPTIONS_PREFS 40012
    #define WINAMP_OPTIONS_AOT 40019
    #define WINAMP_FILE_REPEAT 40022
    #define WINAMP_FILE_SHUFFLE 40023
    #define WINAMP_HIGH_PRIORITY 40025
    #define WINAMP_FILE_PLAY 40029
    #define WINAMP_OPTIONS_EQ 40036
    #define WINAMP_OPTIONS_ELAPSED 40037
    #define WINAMP_OPTIONS_REMAINING 40038
    #define WINAMP_OPTIONS_PLEDIT 40040
    #define WINAMP_HELP_ABOUT 40041
    #define WINAMP_MAINMENU 40043
    #define WINAMP_BUTTON1 40044 //Prev
    #define WINAMP_BUTTON2 40045 //Play
    #define WINAMP_BUTTON3 40046 //Pause
    #define WINAMP_BUTTON4 40047 //Stop
    #define WINAMP_BUTTON5 40048 //Next
    #define WINAMP_VOLUMEUP 40058
    #define WINAMP_VOLUMEDOWN 40059
    #define WINAMP_FFWD5S 40060
    #define WINAMP_REW5S 40061
    #define WINAMP_NEXT_WINDOW 40063
    #define WINAMP_OPTIONS_WINDOWSHADE 40064
    #define WINAMP_BUTTON1_SHIFT 40144
    #define WINAMP_BUTTON2_SHIFT 40145
    #define WINAMP_BUTTON3_SHIFT 40146
    #define WINAMP_BUTTON4_SHIFT 40147
    #define WINAMP_BUTTON5_SHIFT 40148
    #define WINAMP_BUTTON1_CTRL 40154
    #define WINAMP_BUTTON2_CTRL 40155
    #define WINAMP_BUTTON3_CTRL 40156
    #define WINAMP_BUTTON4_CTRL 40157
    #define WINAMP_BUTTON5_CTRL 40158
    #define WINAMP_OPTIONS_DSIZE 40165
    #define IDC_SORT_FILENAME 40166
    #define IDC_SORT_FILETITLE 40167
    #define IDC_SORT_ENTIREFILENAME 40168
    #define IDC_SELECTALL 40169
    #define IDC_SELECTNONE 40170
    #define IDC_SELECTINV 40171
    #define IDM_EQ_LOADPRE 40172
    #define IDM_EQ_LOADMP3 40173
    #define IDM_EQ_LOADDEFAULT 40174
    #define IDM_EQ_SAVEPRE 40175
    #define IDM_EQ_SAVEMP3 40176
    #define IDM_EQ_SAVEDEFAULT 40177
    #define IDM_EQ_DELPRE 40178
    #define IDM_EQ_DELMP3 40180
    #define IDC_PLAYLIST_PLAY 40184
    #define WINAMP_FILE_LOC 40185
    #define WINAMP_OPTIONS_EASYMOVE 40186
    #define WINAMP_FILE_DIR 40187
    #define WINAMP_EDIT_ID3 40188
    #define WINAMP_TOGGLE_AUTOSCROLL 40189
    #define WINAMP_VISSETUP 40190
    #define WINAMP_PLGSETUP 40191
    #define WINAMP_VISPLUGIN 40192
    #define WINAMP_JUMP 40193
    #define WINAMP_JUMPFILE 40194
    #define WINAMP_JUMP10FWD 40195
    #define WINAMP_JUMP10BACK 40197
    #endif

    The above defines were reformatted by me for use in a cpp unit I use for my plugins and is not cannon, modify it as you see fit. I don't remember where I got them.


    There is no vis_*.dll example in the SDK but there are a number of vis plugins with source code available that you can use as a reference. You'll just have to find them.
    | Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite |
    | Save your playlist first! | Live voice-over | X-Fade 2.5 |
    | AterKast (Source DSP) | More of my stuff... |

    Comment


    • #3
      Thanks for the info. I found the source code for the milkdrop visualizer.

      Comment

      Working...
      X