bailed on this approach after Souce released
see my other link for copy of recompiled MilkDrop version and scripting file format.
Announcement
Collapse
No announcement yet.
Event dispatcher for Milkdrop2
Collapse
X
-
Maybe try AutoHotKey. I'm currently using it to send the K## commands directly to the MilkDrop window (regardless of which window is in focus).
It's quite a powerful piece of software, I just had a quick look at some of the documentation and I'd say you would be able to script something that sends your commands in order or random order and at random or specific time intervals.
Leave a comment:
-
-
That does seem pretty odd! Do you know if any other keys have the same problem of not working right??
I found your message as I'm looking for something similar to what you're making. I'm trying to find a way, vbscript or something, to allow me to randomly send K+## keys to MilkDrop2 so that I can just leave Milkdrop running at it'd add images for me ;-)
If you'd like me to test any code to see if I get the same problems of you, I'm more than happy to help!
Leave a comment:
-
-
Event dispatcher for Milkdrop2
Hello all. I am working on a project for timed lyrics appearance and images in Milkdrop2. I am writing separate code that manipulates Milkdrop2 through keystrokes rather than altering Milkdrop itself because (it seems?) the OpenSource code out there is all for version 1 and I don't know what I'd lose from Milkdrop2.
Also, rather than write a winamp plugin (learning curve and need to get done fast) I am just writing in VB.
On to point... the program I am working on is a stand alone VB that polls for open Winamp instances and Milkdrop2 windows as well. Then upon song change detection, a file swap takes places to update custom message and image .ini files to reflect that for the new song.
Finally, a specially formatted dispatcher file tells when during playback to send keystrokes to Milkdrop2 to make synched lyrics and/images appear. Not a totally original idea I know.
Things that work:
file swap is fast enough
updating to new ini files sending F7 works fine
splashing images by sending "K" key plus two numbers works fine
splashing text by sending "Y" key plus two numbers works fine
What fails:
Refreshing the title sequence by sending a single "T" to the window!
Any ideas would be awesome. Plan to share code here when complete.code:
Global Const VK_0 = &H30
Global Const CHAR_0 = &H30
Global Const VK_K = &H4B
Global Const CHAR_K = &H6B 'lower k, DEC = 107
Global Const VK_T = &H54
Global Const CHAR_T = &H74 'lower t, DEC = 116
Global Const VK_Y = &H59
Global Const CHAR_Y = &H79 'lower y, DEC = 121
Global Const VK_F7 = &H76
Global Const WM_KEYDOWN = &H100
Global Const WM_KEYUP = &H101
Global Const WM_CHAR = &H102
Public Sub MilkdropKeys(CodeChar As String, MessNum As Integer)
Dim Offset1, Offset2 As Integer
Select Case (CodeChar)
Case "t": 'title
** apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_T, &HF01 **
apiSendMessage MilkdropHandle, WM_CHAR, CHAR_T, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_T, &HC00F01
Case "y": 'message
apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_Y, &HF01
apiSendMessage MilkdropHandle, WM_CHAR, CHAR_Y, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_Y, &HC00F01
Case "k": 'sprite
apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_K, &HF01
apiSendMessage MilkdropHandle, WM_CHAR, CHAR_K, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_K, &HC00F01
Case "7": 'Fn7 reload ini's
apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_F7, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_F7, &HC00F01
'Case "T": 'kill title - add later
'Case "Y": 'kill messages
'Case "K": 'kill sprite
End Select
If (CodeChar = "y") Or (CodeChar = "k") Then 'send a custom message or sprite to MilkDrop2
If (MessNum >= 0) And (Mess < 100) Then
Offset1 = Int(MessNum / 10)
Offset2 = MessNum - Offset1 * 10
apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_0 + Offset1, &HF01
apiSendMessage MilkdropHandle, WM_CHAR, CHAR_0 + Offset1, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_0 + Offset1, &HC00F01
apiSendMessage MilkdropHandle, WM_KEYDOWN, VK_0 + Offset2, &HF01
apiSendMessage MilkdropHandle, WM_CHAR, CHAR_0 + Offset2, &HF01
apiSendMessage MilkdropHandle, WM_KEYUP, VK_0 + Offset2, &HC00F01
End If
End If
End Sub
Worth noting: the code definitely reaches the correct WM_ code for sending the "T" key. What's REALLY odd to me, is that the code reaches the correct lines (labelled ** above) at the right time with a debug pause point. If at that point I hit continue/run - still fails to show title. BUT, if I step through the code line by line, then the title pops up!Tags: None
-
Leave a comment: