Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Plugins: Tools by Space Fractal :: Jukebox Event Test  (Read 7896 times)

0 Members and 1 Guest are viewing this topic.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Plugins: Tools by Space Fractal :: Jukebox Event Test
« on: January 23, 2008, 09:18:34 am »
Remote Plugin is renamed to Jukebox Event Test

I in the future use this thread to release all plugins I use for MultiJuke and for other software as well.

This new plug-in is neat for debugging a Jukebox software to make sure PLUGIN_EVENTS works as they was extended.

This was a useful plug-in for adding JPS support for MultiJuke for testing PLUGIN_EVENT commands, since there was of course small bugs around and got them all using this plugin.

The plugn should automatic work if EVENT_CREATE is used in the Jukebox Software INIT code. Otherwice the Config button should been able to call up tje Remote GUI.

Better name for this plugin?

The plugin can been found and download from this link:
http://www.jukeplugsys.com/?page_id=8

UncleT: Can you try this plug-in so make sure it act as you would have it acting?

The only think Im are not sure doing correct is the LETTER feature, because I dosent use that my self in MultiJuke. It can return any string, but allways maximum one char, if the feature is not disabled.

Best regaards
Space Fractal

NB. To all others, like HeadKaze and Loadman (for both: regaardles of comments), thanks for the support. Thanks also to UncleT since we got a agree on the document.

« Last Edit: February 16, 2008, 12:31:43 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Plugins made by Space Fractal, just released: Remove Event
« Reply #1 on: January 23, 2008, 09:45:56 am »
I added your JPS file into my "plugins" directory, started my jukebox and see your plugin listed.  I enabled the plugin and then clicked the Configure button but nothing happened.

I am assuming the Juke_Configure() routine is being called since I am using headkaze's VB JukePlugin class module (which should call Juke_Configure() routine),  but no configuration screen gets displayed.

I am at work so I do not have access to my source code.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Plugins made by Space Fractal, just released: Remove Event
« Reply #2 on: January 23, 2008, 10:50:41 am »
updated to v1 beta 2.

Should now work as it should, even when it diddent got a any defined keys. In the Project1.exe it, now just show a error message when trying to config the application (due no or to few defined keys was used). It didden't crash.

- Config did not show a error back to the user if no PLUGIN_EVENTS (need a laest 3) is defined. FIXED.
- If No PLUGIN_EVENTS is defined before INIT(), the CONFIGURERE() should now show the remote window.
- If the Remote window allready exits wgen CONFIG button is used, it should show a "No Configuration" Message.

« Last Edit: January 23, 2008, 11:12:09 am by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Plugins made by Space Fractal, just released: Remove Event
« Reply #3 on: January 23, 2008, 11:25:42 am »
found the main reason: There are no JUKE_ prefex for the PLUGIN_EVENT_CREATE command?

JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"valueStr"")

was in the plugin used as JUKE_PLUGIN_EVENT_CREATE.

I have now changed the plugincode so it just adding the JUKE prefex to the command by it self, if it was not added by the jukebox software (checking for ALL ommands, not just CREATE). I think I should write about this to the document_api?

It have the same "problem" with the SoundEvent plugin, which also updated doing the same trick. so it listen with and without JUKE_ prefix (Uploaded to the site, HeadKaze, please include the new version).

I should update to include the JUKE_ prefex with a warning about the API error?


Note: MultiJuke is also updated to use PLUGIN_EVENT_CREATE insted of JUKE_PLUGIN_EVENT_CREATE


« Last Edit: January 23, 2008, 12:10:56 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Plugins made by Space Fractal, just released: Remove Event
« Reply #4 on: January 23, 2008, 02:13:58 pm »
I am not quite sure what you are saying here but there are only 5 commands which have the "JUKE_" prefix:

Juke_GetPluginInfo
Juke_Initialize
Juke_Shutdown
Juke_Configure
Juke_Command

all other events are 'recommended' to be prefixed by PLUGIN_EVENT_xxxxx

I just retested the RemoteEvent plugin.  ...........

When I start my jukebox, your plugin configuration window automatically pops up.  This should not happen until I select your plugin from the plugin list and then click the "Configure" button.   Also, I tried to close your plugin window by clicking the top/right "X" window close button, but it did nothing.  I had to kill my jukebox application process in order to get it all to close.
« Last Edit: January 23, 2008, 02:19:39 pm by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #5 on: January 23, 2008, 04:34:27 pm »
The close button that does nothing was by design, and the windows that pop up is also by design in the startup. Actually If I tried to close the windows, it simply might crash.

The plugin have simply allready automatic configured the plug-in itself, hence you really NOT need a CONFIG window in that plug-in. It allready known what it need to known, because you have told it when you defined your features through PLUGIN_EVENT_CREATE.

The main reason for the plug-in was to debugger my software so I could make sure it PLUGIN_EVENT_SEND and PLUGIN_EVENT_GET did work correctly, and also checking the plug-in and jukebox software did communicate correct in both ways.

ETC changing the volume when I changed the volume number in VOLUME_SET (as I named in my software), pressing a button to send a EVENT_GET event and then so on.

So the window you saw is also just the remote interface I created using these 3 EVENTS commands and show how they can been used, so its NOT a config window.

So again: This plug-in is more a debugger tool than a real use as it are now (why I wanted to pop-op the windows allready under init, otherwise it would real hell to open config every time I tried to fix a bug if it had a communications problem). Later when I made a end user use of this plugin I might change this very diffecent.

I have moved my plugins in the JukeSysplug.com to the S.D.K. section since these is really development plugins rather than enduser plugins.

There was a spelling in the title name: Remove should been remote. The name can been something other, if a better name is giving.



ETC, if you look close on the document API, all commands actually start with a JUKE prefix except PLUGIN_EVENT_CREATE where it missing. Hence I dedicated to add the JUKE prefix before parsing the command string if its missing.


« Last Edit: January 23, 2008, 06:59:21 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #6 on: January 23, 2008, 07:38:22 pm »
Actually your API has an error in it .... "PLUGIN_EVENT_CREATE" should be "JUKE_PLUGIN_EVENT_CREATE".  That was just a typo and should be fixed.

Everything defined in the SDK should have "Juke_xxxx" prefix and all events which are defined specifically by the jukebox software should have "PLUGIN_EVENT_(name)".  That is part of the standard.

Anyway, not real sure what you want me to test in my software ..... I start my application and your window pops up and can not be closed.  What do you want me to do with it?

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #7 on: January 23, 2008, 08:07:54 pm »
checking all buttons does as they should. If now buttons and events is seen in the windows (just a empty window), you have not defined your commands correct using PLUGIN_EVENT_CREATE before init() and or configure().

1. If you example have something to been disable and enable, like the attrack mode. Does these act correct on the button (The button to the ACTTRACK MODE should change enable/disable and on/off status, when you doing that in your software)?

2. Does your jukebox software correct when the plugin sending back PLUGIN_EVENT_GET commands (etc KEYCLICK)? Try to press a button in the plugin window and check what they does correct in your jukebox software to.

3. Does your jukebox send and retrive volume set correts when you change the number in your application? Try to changing the volume number in the plugin window, does that change work in your software?

4. I see you have volume Mute on/off? Does these act correct when you sending that to the plugin, when you change the on/off status in the Volume Mute feature?

5. If you add a KEYCLICK to VolumeMute (like "ON OFF KEYCLICK", the plugin can also send a KEYCLICK value back to change the mute status. Here you can checking it actuelly works as it should!

If examples above works, I asume it would work when other plugin writers when they use these features. Plugin Writes can also see how it could work when the remote plugin communicate with your software.

I used as by my self when I added these 3 commands to MultiJuke to make sure they actuelly works as they should (yes some of them diddent work as they should and would not been noticed without this plugin).

Otherwice give me the screenshot, how the window is when the plugin window is open.

JUKE prefix: I fix that typo soon and write warning about it.

« Last Edit: January 23, 2008, 08:09:52 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #8 on: January 23, 2008, 08:21:54 pm »
When your plugin window comes up automatically I can no longer do anything in my main jukebox window at all.  Seems like your plugin window is opening as a "modal" window which means it locks out the parent window while it is active.

Oh yeah, one more favor please.  When you fo into the jukeplugsys site and click on "Jukebox Software" you will see "Uncle’T Jukebox by Uncle’T".   

Will you please change this for me to be "UncleT's Jukebox by Uncle T"?   :angel:
« Last Edit: January 23, 2008, 08:25:25 pm by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #9 on: January 23, 2008, 09:03:35 pm »
Suddently it "hijacked" your software, even the window was oped from a newly created thread, so your application could countinue run. I haven't even used your parent ID to anything.

I now Tried to remove a "Sticky Window" command and see if its was that command, that did that. Make also sure to click on your application window to get its focus back, since it might been lost.

Otherwice I install your software soon (even my music directoy is a bit diffecent what your software want) and see, why it did that.

Please redownload. Seen there is also a bug in the Pure Basic about string gadget, so I needed to add some dummy buttons after that to make sure the strings got send back to the jukebox software as well.

I have updated the site.
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #10 on: January 24, 2008, 11:55:44 am »
Your new plugin now lets me use my software.

Here is the list of events my software creates using the "JUKE_PLUGIN_EVENT_CREATE" routine.

Quote
    PLUGIN_EVENT_APP_EXIT|""
    PLUGIN_EVENT_PLAY|""
    PLUGIN_EVENT_PAUSE|""
    PLUGIN_EVENT_FASTREV|"KEYDOWN KEYUP"
    PLUGIN_EVENT_FASTFWD|"KEYDOWN KEYUP"
    PLUGIN_EVENT_SKIP|""
    PLUGIN_EVENT_VOLUMESET|"NUMBER"
    PLUGIN_EVENT_VOLUMEMUTE|"ON OFF"
    PLUGIN_EVENT_VOLUMEUP|"KEYDOWN KEYUP"
    PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN KEYUP"
    PLUGIN_EVENT_SONGQ_CLEAR|""
    PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF"
    PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"
    PLUGIN_EVENT_ENTERSEL_DIGIT|"NUMBER"
    PLUGIN_EVENT_ENTERSEL_CLEAR|""
    PLUGIN_EVENT_ENTERSEL_DELETE|""
    PLUGIN_EVENT_ENTERSEL_PLAY|""
    PLUGIN_EVENT_ALBUM_COVERS_FLIP_BACKWARD|""
    PLUGIN_EVENT_ALBUM_COVERS_FLIP_FORWARD|""

It seems the events which are defined with |"" are working for you but the other events which provide a text string value after the separtor character (ex: |"xxxxxxx") do NOT work for you.   Are you sure you are sending the correct text strings to my jukebox? 

Also, is your plugin hard-coded with my event names (listed above) for testing my software only?  It must be since these event names (listed above) are specifically defined by my jukebox software only so they can not be used with other jukebox software for testing.   Actually, I would not know how your plugin would now which event is related to certain functions without you hardcoding them in your plugin.  For example, for setting the volume level, I thought I would have to indicate in your plugin which event I created allows the volume to be set .... I am not sure how your plugin would now the right event name to use if you did not hard-code them into your software.

Example1:
If you want my software to turn on the song REPEAT feature, then when my software sends your plugin a "JUKE_PLUGIN_EVENT_GET" command, then your plugin should respond with the following text string:

  PLUGIN_EVENT_SONGQ_REPEAT|ON

Example2:
If you want my software to set the volume level to be 80, then when my software sends your plugin a "JUKE_PLUGIN_EVENT_GET" command, then your plugin should respond with the following text string:

  PLUGIN_EVENT_VOLUMESET|80


Are you sending the correct text strings?  I will not be able to test this until later tonight since I am at work now.


Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #11 on: January 24, 2008, 11:57:37 am »
I have NOT hardcoded any events, because you have defined these events your self using PLUGIN_EVENT_CREATE, where the remote got them all CORRECTLY.

For some reason KEYDOWN and KEYUP did not used in these VOLUMEUP and VOLUMEDOWN commands, since it dosent look like a button, but you might have used ""ENABLE DISABLE" instead? Please check.

The names you see in the remote is just reformatted from the defined strings to been easier read in the remote.

The main reason you diddent got a _GET correctly back, because I allways close any commands with "", as stated in the document API (hence why I marked them blue). Also I have sendt this back example for the VOLUMEMUTE event (if the button say OFF):

valid: PLUGIN_EVENT_VOLUMEMUTE|"ON"
not: PLUGIN_EVENT_VOLUMEMUTE|ON

So remember to remove any "" it might sendt back to your software before checking. I did that in MultiJuke just to make sure. You should do the same, and the plugin itself do also the same.

Also the The buttons does a NOT change it self, even it send a _GET event back to your software. So make sure your send a _SEND back to the plugin with the new status when a feature is enabled, disabled, on or off or something else.

I also recommered you to log the sendt commands back, so you can see what it actuelly sendt back....
« Last Edit: January 24, 2008, 12:00:35 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #12 on: January 24, 2008, 12:22:15 pm »
Quote
I have NOT hardcoded any events, because you defined these events using PLUGIN_EVENT_CREATE, where the remote got them all CORRECTLY.
I guess I still have no idea how your plugin knows which events do what ....   Say I defined the following events

   PLUGIN_EVENT_FUNCTION1
   PLUGIN_EVENT_FUNCTION2
   PLUGIN_EVENT_FUNCTION3
   PLUGIN_EVENT_FUNCTION4

 then how will your plugin now which event should be used to set the volume level?


Quote
For some reason KEYDOWN and KEYUP did not used in these VOLUMEUP and VOLUMEDOWN commands, since it dosent look like a button, but might you might have used ""ENABLE DISABLE" instead?
In my software when you press the volume down button and keep it pressed down (ie: keyDown), then the volume level decreases.   When you finally let go of the button (ie: keyUp) then the volume stops changing.  When you press the volume up button and keep it pressed down (ie: keyDown), then the volume level increases.   When you finally let go of the button (ie: keyUp) then the volume stops changing.  Since this is how my software works, then the plugin can simply tell me "keyDown" or "keyUp" like I currently have defined.    Using "enable" and "disable" does not make sense here because the "enable/disable" text are used for enabling and disabling a "feature" and increasing/decreasing the volume is not a "feature" .... it is something which is always available in my software to update.

The names you see in the remote is just reformatted from the defined strings to been easier read in the remote.


Quote
The main reason you didn't get a _GET correctly back, because I allways close any commands with "", as stated in the document API (hence why I marked them blue). Also I have sendt this back example for the VOLUMEMUTE event (if the button say OFF):

valid: PLUGIN_EVENT_VOLUMEMUTE|"ON"
not: PLUGIN_EVENT_VOLUMEMUTE|ON

Using the "" (double-quotes) in the SDK just indicates that the text after the separator character is a text string, the double-quotes are not meant to be included in the format.

The SDK defines the "Juke_Command()" as

     Juke_Command(Name:PChar; Value:PChar):PChar;

and does NOT define it as

     Juke_Command("Name" :PChar; "Value":PChar):PChar;


Making sure all commands have the "" characters around them and also making sure the parameters have the "" around them is extra work which does not need to be performed. 

Think about it ... when I call the Juke_GetPlugInfo() routine, then the text string which is returned does NOT include double-quotes.   The name of your plugin is Remote Event Plugin ..... it is NOT "Remote Event Plugin

Quote
So remember to remove any "" it might sendt back to your software before checking. I did that in MultiJuke just to make sure. You should do the same, and the plugin itself do also the same.
I am not going to parse out all "" characters ..... the plugin needs to send them without the double-quotes and the SDK API description should be updated if you think it is not clear.   Again, normally whenever the "" characters are used .... it indicates a text string should be used ..... but does not mean to include the double-quotes unless specifically indicated that the double-quotes should be also included.  it would be a waste of time to parse out all double-quotes from all commands I receive from a plugin .... the plugin should not be sending them in the first place.

Quote
Also the The buttons does a NOT change it self, even it send a _GET event back to your software. So make sure your send a _SEND back to the plugin with the new status when a feature is enabled, disabled, on or off or something else.
Whenever my software send a GET event to the plugin and the plugin returns a text string, then my software will execute the event provided by the plugin.  Executing these events usually result in a JUKE_PLUGIN_EVENT_SEND command to be sent back to the plugin to indicate the change which just took place.



Quote
I also recommered you to log the sendt commands back, so you can see what it actuelly sendt back....
I do not log a lot of stuff anyways ... just the loading of the library.



***  I updated the Jukebox Wiki SDK to removed all the extra double-quotes which were added and simply added some text indicating the double-quotes are not to be included in the text strings ..... just to be more clear.
« Last Edit: January 24, 2008, 12:59:42 pm by unclet »

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4306
  • Last login:May 26, 2024, 05:14:32 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #13 on: January 24, 2008, 04:44:19 pm »
Quote
The main reason you didn't get a _GET correctly back, because I allways close any commands with "", as stated in the document API (hence why I marked them blue). Also I have sendt this back example for the VOLUMEMUTE event (if the button say OFF):
valid: PLUGIN_EVENT_VOLUMEMUTE|"ON"
not: PLUGIN_EVENT_VOLUMEMUTE|ON
Using the "" (double-quotes) in the SDK just indicates that the text after the separator character is a text string, the double-quotes are not meant to be included in the format.
The SDK defines the "Juke_Command()" as
     Juke_Command(Name:PChar; Value:PChar):PChar;
and does NOT define it as
     Juke_Command("Name" :PChar; "Value":PChar):PChar;
Making sure all commands have the "" characters around them and also making sure the parameters have the "" around them is extra work which does not need to be performed. 
Think about it ... when I call the Juke_GetPlugInfo() routine, then the text string which is returned does NOT include double-quotes.   The name of your plugin is Remote Event Plugin ..... it is NOT "Remote Event Plugin
Quote
So remember to remove any "" it might sendt back to your software before checking. I did that in MultiJuke just to make sure. You should do the same, and the plugin itself do also the same.
I am not going to parse out all "" characters ..... the plugin needs to send them without the double-quotes and the SDK API description should be updated if you think it is not clear.   Again, normally whenever the "" characters are used .... it indicates a text string should be used ..... but does not mean to include the double-quotes unless specifically indicated that the double-quotes should be also included.  it would be a waste of time to parse out all double-quotes from all commands I receive from a plugin .... the plugin should not be sending them in the first place.

Yeah, UncleT's Logic makes sense to me? That is what I am doing too?

What is with all the extra " " "  making a mess?   :dunno

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #14 on: January 24, 2008, 06:12:22 pm »
The quote I talking is mostly only in JUKE_PLUGIN_GET (and JUKE_PLUGIN_SEND and JUKE_PLUGIN_CREATE).

In MultiJuke and the Plugin. I have NO use of " at ALL, and I just removed them all in my code. Think we should remove ALL " regaardless it a string or number? That because I just can convert the string to a int when needed and when it known its a number value.

And I cant see, why you not can add another line of code for combatible (becaue its techincal allways is a string)? I simply guess I still hope you can add the little string replace code before parsing the value.

So by now the plugin also send a NUMBER value by a quote back by the plugin (as stated now in 1.02 document api). I might change that soon.

But I think you should testing and experiment this plugin to make sure all events you defined actuelly works as it should as it are now.


How the plugin know about the defined events?

"PLUGIN_CREATE_JUKE","PLUGIN_EVENT_FUNCTION1|KEYCLICK" or "PLUGIN_CREATE_JUKE","PLUGIN_EVENT_FUNCTION|""" tell my plugin that function is a KEYCLICK function. Hence I created a KEYCLICK button for that, so the user can press a button in the remote window, and then send a GET string back to the jukebox software.

"PLUGIN_CREATE_JUKE","PLUGIN_EVENT_FUNCTION1|NUMBER" tell my plugin, it use a number. Here I use a string gadget limit to only use a number and send back a new number when a user have changed the number in the string gadget, or you have send a new value sent back.

"PLUGIN_CREATE_JUKE","PLUGIN_EVENT_FUNCTION1|LETTER" tell my plugin, it can use a LETTER, hence it still use a strings, but limit to one char.

"PLUGIN_CREATE_SEND","PLUGIN_EVENT_FUNCTION1|ENABLE DISABLE" tell the plugin a function can been disabled or enabled from a feature. Hence I choised to use a Text Label for for that, since it just a info function for the plugin and can't send something back.


I created this tool to make sure the comminucation worked correctly, since there was various bugs in MultiJuke as well, why I created this tool (better name for that tool?). I have not even use any hard coded event for get it to work 100% in MultiJuke (it was ideel to log all _GET command using a PRINT command for checking).


Better name for the tool? I are open for a new name.

I release the source code soon.
« Last Edit: January 24, 2008, 06:41:09 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4306
  • Last login:May 26, 2024, 05:14:32 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #15 on: January 24, 2008, 06:24:18 pm »
In MultiJuke and the Plugin. I have NO use of " at ALL, and I just removed them all in my code. Think we should remove ALL " regaardless it a string or number? That because I just can convert the string to a int when needed and when it known its a number value.
:applaud:

Quote
I created this tool to make sure the comminucation worked correctly, since there was various bugs in MultiJuke as well, why I created this tool (better name for that tool?). I have not even use any hard coded event for get it to work 100% in MultiJuke (it was ideel to log all _GET command using a PRINT command for checking).

Better name for the tool? I are open for a new name.

I release the source code soon.

Well it is a test for JukeBox to make sure that Plug-in's are will work with it.  ...

ummm a plug connects to a Socket so ..............

How about "SocketSet"  or something like that?

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #16 on: January 24, 2008, 07:37:38 pm »
Ok, I understand how you coded your plugin now for testing purposes only.   It just sets up buttons and string text boxes based on the value it obtained so the plugin can be used to test return values back to the jukebox software.

Anyway, after receiving a GET command, if the return text string no longer includes the double-quotes, then I think those other events will work for you now using my software.  Try it and let me know if they still fail.

As an example ..... to set the volume to a certain number, the return text string (after receiving a GET command) should be:

  PLUGIN_EVENT_VOLUMESET|80   <-- no double-quotes

« Last Edit: January 24, 2008, 07:39:37 pm by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #17 on: January 25, 2008, 01:36:29 am »
I Doing that later (to work soon).

By now what about SEND events?

No buttons changed the status when I exampel tried to press on VOLUME MUTE button in your software it self? The buttons didden't change to the new values (ON/OFF)?

Please note it regaardles you used "" or not, how you do send.

Please check your SEND strings first. Then I looking on GET strings later. Dont worry about GET strings now.
« Last Edit: January 25, 2008, 01:43:16 am by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Remote Event
« Reply #18 on: January 25, 2008, 07:07:17 am »
Tried again using that version it on the attachment file (beta 6)... All quote unless KEYCLICK ("") is removed before sending back using GET.


Just tested again on your software:

* Volume Mute: You forgot to send back status back when changed. Hence I can only press Volume Mute OFF, but not Volume Mute ON.

* Fastrev + FastFwd - The music begin to sound very choppy (like you pause/unpause constant) instead of fastrev and FastFwd?? It regardless I used the plug-in or not, so it might bee a real bug here? Or in mine version of WMP?

* Volumeset: Works, but it did never got any changed values back from your software (SEND). Etc I might could try to insert a value over 100, and the jukebox software should then correct it to maximum to 100 instead just ignore it, and send that new value back to the plugin.

* VolumeUp: A Bug in plug-in fixed. Now works fine in your software (both KEYDOWN and KEYUP).

* VolumeDown: A Bug in plug-in fixed. Now works fine in your software (both KEYDOWN and KEYUP).

* Entersel Digit: Works, but it did never got Any changed values back from your software (SEND).


NB. I renamed this plug-in to Jukebox Event Test and change the title of this thread and on homepage soon.



!! Rest work (including song repeat and idle play) !!


« Last Edit: January 25, 2008, 07:13:38 am by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #19 on: January 25, 2008, 02:11:49 pm »
Quote
* Volume Mute: You forgot to send back status back when changed. Hence I can only press Volume Mute OFF, but not Volume Mute ON.

* Volumeset: Works, but it did never got any changed values back from your software (SEND).

* Entersel Digit: Works, but it did never got Any changed values back from your software (SEND).
I will check this stuff out this weekend.

Quote
* Fastrev + FastFwd - The music begin to sound very choppy (like you pause/unpause constant) instead of fastrev and FastFwd?? It regardless I used the plug-in or not, so it might bee a real bug here? Or in mine version of WMP?
Of course the sound seems choppy .... you are fast forwarding (or fast reversing) through the song music .... it is going to sound choppy.

Quote
I might could try to insert a value over 100, and the jukebox software should then correct it to maximum to 100 instead just ignore it,
Yeah I can look into this as well


Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #20 on: January 25, 2008, 02:26:46 pm »
yes, but it should only been happy when I pressed the mouse button down (and I really could not hear it jumped these 10 secs?), but it did sometimes not checked it when I released the button.

From the plugin the MOUSEUP seen never got checked, and from your applications, it did only sometimes. And could not stop fast forwading and the otherway until I closed your application.


I use Vista 64bit version as OS and version 11 of WMP.

I do guess this and other bugs regaard communication should been fairly easy to fix (But somethimes can been hard to FIND the bug rather to fix it)....




Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #21 on: January 26, 2008, 12:05:47 am »
When using your plugin ...

1)  When you plugin displays it's window the VolumeSet box is set to 0 . I change this to 40 and then click the "dummy" button next to it, but no request is sent to my software.

This does not seem to be working so I can not test it


2)  When your plugin displays it's window the button next to VolumeMute indicates "OFF".   When I click this OFF button it sends a request to my software to turn mute "ON".  I then send a command to the plugin indicating the volume mute is TRUE

Quote
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_VOLUMEMUTE=   value=ON=
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE=   cmdValue=TRUE=

I am not sure why your plugin say "OFF" but sends an "ON" request.   Anyway, after I send the "JUKE_VOLUME_MUTE = TRUE" command, you plugin does not change the button from OFF to ON, it just always says "OFF"?    If I keep clicking the "OFF" button then my software will receive another request to turn the mute ON again, but will not send back a command to the plugin in this case since the mute was already turned on.  My software only processes requests which result in a change occuring.

This seems to be working fine .......


3) When you plugin displays it's window the EnterSelDigit box is set to "0". When I click the "dummy" button next to it then my software is requested to enter digit "0".  I then send back a command indicating the album number has changed and the total value is now "0".  I also send a track number command indicating this value is still nothing

Quote
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_ENTERSEL_DIGIT=   value=0=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE=   cmdValue=0=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE=   cmdValue==

I then change the "EnterSelDigit " in your plugin window to be a "2". When I click the "dummy" button next to it then my software is requested to enter digit "2".  I then send back a command indicating the album number has changed and the total value is now "02".  I also send a track number command indicating this value is still nothing

Quote
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_ENTERSEL_DIGIT=   value=2=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE=   cmdValue=02=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE=   cmdValue==

This seems to be working fine .......

« Last Edit: January 26, 2008, 12:07:28 am by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #22 on: January 26, 2008, 04:57:15 am »
Code: [Select]
[hr]
Logged some commands out:

[code]
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|0|0|100
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|38|0|100
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=FALSE
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE   cmdValue=6
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE   cmdValue=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE   cmdValue=66
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE   cmdValue=
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_SONGQ_REPEAT=   value=ON
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_SONGQ_REPEAT|ON
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_SONGQ_REPEAT=   value=OFF
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_SONGQ_REPEAT|OFF

You can not send a TRUE/FALSE because these statement is unknown when define functions using CREATE. That why it didden't change its status  in the plugin.

You did do correct with PLUGIN_EVENT_SONGQ_REPEAT. Here you used ON/OFF, and not TRUE/FALSE.

If you did it correct, it should show this:

Code: [Select]
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|0|0|100
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUMESET   cmdValue=0
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|38|0|100
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUMESET   cmdValue=38
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=ON
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=OFF
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE   cmdValue=6
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE   cmdValue=
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_ALBUM_VALUE   cmdValue=66
JUKEBOX-->PLUGIN:  cmdName=JUKE_ENTER_TRACK_VALUE   cmdValue=
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_SONGQ_REPEAT=   value=ON
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_SONGQ_REPEAT|ON
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_SONGQ_REPEAT=   value=OFF
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_SONGQ_REPEAT|OFF
[/code]

For the Entersal Digit. Would it not make more sence to define 10 digit commands, one for each number, since it more or less just a KEYCLICK feature just to send back a number?

You could also use LETTER instead of NUMBER, since the plugin can send back any number or char, but just limits to one char? I havent limit it to A-Z letters, because some speciel LATIN letters can been outside A-Z, like danish Ć Ř Ĺ.






Here is a new version of the PLUGIN, where DUMMY is changed to OK, so they now works (originally you need to use TAB to navigate out of the string before it sent the string back, hence the DUMMY buttons did nothing).
« Last Edit: January 26, 2008, 05:49:40 am by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #23 on: January 26, 2008, 12:50:21 pm »
Quote
You can not send a TRUE/FALSE because these statement is unknown when define functions using CREATE.
The JUKE_VOLUME_MUTE command is NOT created using the JUKE_PLUGIN_CREATE command.  The JUKE_VOLUME_MUTE command is defined in the SDK as listed below.  This indicates TRUE or FALSE shall be sent.   Shall we change the SDK to be ON/OFF instead?

Juke_Command("JUKE_VOLUME_MUTE", "TRUE or FALSE")
Set Mute Status to TRUE or FALSE


Quote
You did do correct with PLUGIN_EVENT_SONGQ_REPEAT. Here you used ON/OFF, and not TRUE/FALSE.
This is because the PLUGIN_EVENT_SONGQ_REPEAT event IS defined by the JUKE_PLUGIN_CREATE command where TRUE/FALSE is not allowed to be used.

Quote
For the Entersal Digit. Would it not make more sence to define 10 digit commands, one for each number, since it more or less just a KEYCLICK feature just to send back a number?
No .... why create 10 commands when one command works fine.  Actually it was your idea to simply inform the plugin what the total album number and track number was using one command each.  You recommended to just send the complete value all the time and it would be up to the plugin to determine whether a digit was added/deleted or whether all digits were cleared totally.  I want to keep this functionality the same.


Quote
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|0|0|100
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUMESET   cmdValue=0
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|38|0|100
 JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUMESET   cmdValue=38
There is no command defined in the SDK called "JUKE_VOLUMESET".  I defined a jukebox specific event called "PLUGIN_EVENT_VOLUMESET" to allow the plugin to "tell the software" when to set the volume, but I never send a VolumeSet command to the plugin.  I send the SDK defined JUKE_VOLUME_CHANGE command instead.  No reason to send both.    Remember, only commands defined by the SDK can be "sent to the plugin only" but events which are created by the JUKE_PLUGIN_CREATE command can be sent to the plugin and also received from the plugin.

Now, my specific-jukebox events which I create using the JUKE_PLUGIN_CREATE command are defined below.  I indicate which of these events will be sent to the plugin and also indicate which events can be sent from the plugin to the software.  You will see that I never send a PLUGIN_EVENT_VOLUMESET event "to" the plugin.  The PLUGIN_EVENT_VOLUMESET event is only allowed to be sent "from" the plugin "to" the software.  Again, it makes no sense to send JUKE_VOLUME_CHANGE to the plugin and also send a PLUGIN_EVENT_VOLUMESET to the plugin since they mean the same thing. 

The only reason I had to create a PLUGIN_EVENT_VOLUMESET event was so the plugin could have an event which they can use to inform the software to set the volume to a certain level.  Basically, the plugin can not send a JUKE_VOLUME_CHANGE "to" the jukebox software, so I had to define the PLUGIN_EVENT_VOLUME_SET event to allow the plugin to tell the software to set the volume level.  It is the only event the plugin can send "to the software" to set the volume.

My jukebox-specific SDK includes the following description.  You can see what jukebox-specific events I create and also which of these events can be sent to (and received from) the plugin:

http://unclet.arcadecontrols.com/Jukebox/plugins.html


***  For the FastForward and FastReverse problem .... what type of file are you trying to play in Windows Media Player 11 ...... is it a WMV file perhaps?


« Last Edit: January 26, 2008, 04:25:08 pm by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #24 on: January 26, 2008, 01:56:39 pm »
196kbit Mp3 files for your last comment. Checking again soon.

oops, some typos from mine side. No need to change the SDK. Sorry if the other post can been misforstood, since I really just ment to add a missing command....

JUKE_VOLUME_MUTE is 100% correct and I do the same (why did I oversaw that? It might been the log format you use, so I easely can oversaw it, but keep it).

All you need is just send a second command, also info the plugin the status have been changed for that defined command. The plugin does NOT checks for the dedicated volume or any other dedicated commands (how would it know which defined event that was that volumemute command, due I have no configuration screen?)

Code: [Select]
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_VOLUMEMUTE|ON

The first is the correctly dedicated command. For the second one, which is the same, is for the defined event command. The plugin does first change its button for the event, when you send the second command.

I would been like you did the same with VOLUME_SET, even it might not been required. I just want the values to been same.


NB. Can you edit your jukebox-specific SDK to a link to your homepage, to shorting the post?
« Last Edit: January 26, 2008, 02:56:15 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #25 on: January 26, 2008, 04:39:14 pm »
Quote
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE
JUKEBOX-->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_SEND   cmdValue=PLUGIN_EVENT_VOLUMEMUTE|ON

These commands are the same exact thing ..... so sending both "to" the plugin makes no sense.   

The "JUKE_VOLUME_MUTE" is defined in the SDK so this means it is the command which should be "sent to" the plugin only.

The "PLUGIN_EVENT_VOLUMEMUTE" is a specific jukebox event which is defined by my jukebox software only (ie: all jukebox software might not define something like this) which allows the plugin to request the jukebox software to turn mute on or off.

Makes no sense to send both of these commands "to" the plugin at all.

When MUTE is applied by interfacing with the jukebox software directly, then the following is sent from the jukebox software to the plugin

Quote
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE

When the plugin requests the jukebox software to turn ON mute, then the following occurs:

Quote
JUKEBOX->PLUGIN:  cmdName=JUKE_PLUGIN_EVENT_GET cmdValue=nullString
PLUGIN->JUKEBOX:  event=PLUGIN_EVENT_VOLUMEMUTE  value=ON
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE


These are completely separate commands and should not be sent together.   In this case I think your plugin should check whether the "JUKE_VOLUME_MUTE" command is received and then update your click button accordingly.

Regarding the 196Kbit MP3 file you can not fast forward through ..... perhaps you can send it to me as a ZIP file so I can test with it and see whether I have the same problem.
(emailAddrRemoved).  I tested some MP3 files and video files using Windows Media Player v11 and it seems to work for me .....  I need to spend more time testing though.  Having a file which is known to fail would be nice....

« Last Edit: February 22, 2008, 09:42:54 am by unclet »

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #26 on: January 26, 2008, 04:56:10 pm »
The main problem is PLUGIN_EVENT_VOLUMEMUTE and JUKE_VOLUME_MUTE is defficent strings and I actuelly need a configuration to let the user tell the plugin about it, but I avoid to create that one here as it only a test plugin.

So this plugin is to test defined commands ONLY and leave all other commands.

I dedicated to send both commands from MultiJuke, even it the same thing, to make sure a plugin take one of the commands.....
« Last Edit: January 26, 2008, 05:08:12 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #27 on: January 26, 2008, 05:02:50 pm »
Quote
The plugin does NOT checks for the dedicated volume or any other dedicated commands
I think your plugin should make a check.....


Quote
So this plugin is to test defined commands ONLY and leave all other commands.
Yes, it is only a test plugin and I think it has determined everything works now.  If you plugin expects a VOLUMEMUTE ON or OFF value coming from the jukebox software then your plugin will need to check whether it received a JUKE_VOLUME_MUTE (TRUE or FALSE) command and then map it to ON or OFF instead.

Again, I think we should change the SDK to have JUKE_VOLUME_MUTE send ON/OFF instead of TRUE/FALSE ..... makes more sense.


Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #28 on: January 26, 2008, 05:11:46 pm »
I think leave the SDK as it are, since it works well and is not a defined key (even you might have right here).

In MultiJuke I also use JUKE_VOLUME_MUTE as well the defined command I use (which is PLUGIN_EVENT_FEA_VOLUME_MUTE in MultiJuke, hence the string is a bit diffencent than your, which is PLUGIN_EVENT_VOLUMEMUTE).

I could check if the VOLUMEMUTE (after removed _ ) exist somewhere in a event name and use that, I think it easier let jukebox software control that?



If I use FAST FORWORD and FAST REWIND buttons, the sound choppy about 5-6 times and secs sometimes not change. But if I use the slider under Song Queue (Should that not been named Playing Now?), there is no problemo and works as it should.

I think you should use KEYCLICK and not KEYDOWN/KEYUP (also seen as your software, not plugin) to fix that issue?


« Last Edit: January 26, 2008, 05:17:00 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #29 on: January 26, 2008, 06:53:17 pm »
Quote
If I use FAST FORWORD and FAST REWIND buttons, the sound choppy about 5-6 times and secs sometimes not change. But if I use the slider under Song Queue (Should that not been named Playing Now?), there is no problemo and works as it should.

If you could send me a MP3 with this problem I can try to figure out the problem.  Everything works for me so I can not debug it without you sending me a MP3 file.

Quote
(Should that not been named Playing Now?),
What are you referring to?   Are you asking whether I should put a text label next to the song queue slider so the user knows what it is?  Anyway, not real sure what you are indicating here for sure ....

Quote
I think you should use KEYCLICK and not KEYDOWN/KEYUP (also seen as your software, not plugin) to fix that issue?
Fix what issue?  The FastForward and FastRewind buttons only work when a KeyDown or KeyUp event is generated.   This is how the buttons work .... KeyDown starts the song fast forwarding and KeyUp stops the song from fast forwarding.   Same thing for the Fast Reverse.   This is why my software requires KEYDOWN and KEYUP in the event from the plugin.    I am not sure why you think something is broken and needs to be fixed .... please explain.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #30 on: January 26, 2008, 07:09:27 pm »
Hey, I does that even I NOT using the plugin. Just email you with a screenshots marked some things and song.

Otherwice I confirm it works very well on Vista 64bit OS I using and tested on.
« Last Edit: January 26, 2008, 07:22:56 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #31 on: January 26, 2008, 10:49:06 pm »
Well, I just played around with the fast forward (reverse) code and can only conclude that the windows media player control I am using might have trouble going fast forward (reverse) for long periods of time.   It seems the Windows Media Player needs time to "catch up" due to so many fast forward (reverse) request changes. 

I reduced the number of requests sent to the media player control but it did not seem to matter that much, the slider still stalls a bit when fast forwarding (reversing).   Oh well ... not a big deal for me really.  How often do people use fast forward (reverse) anyways?   ;)

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #32 on: January 27, 2008, 05:24:17 am »
I think this error should moved into your forum around fast moving and reverse. I might guess the media player dosent like the many of requests here, instead only send one request.

Anyway I move that topic to your forum, and leave this for the plugins I made.
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4306
  • Last login:May 26, 2024, 05:14:32 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #33 on: February 09, 2008, 11:26:21 pm »
The plugin can been found and download from this link:
http://www.jukeplugsys.com/?page_id=9

I think this is the correct link now  ;)

http://www.jukeplugsys.com/?page_id=8

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #34 on: February 10, 2008, 04:53:40 am »
hehe, it was on "page 9", before I moved the test plugin to the SDK instead :D.
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4306
  • Last login:May 26, 2024, 05:14:32 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #35 on: February 15, 2008, 08:26:32 pm »
I just Tried this with UncleT's again.

Minor thing. I can't get the volume set to work and I can't get it to un-mute.  :dunno

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #36 on: February 15, 2008, 09:40:39 pm »
What does the log file say you are passing to my software?


These are what you should be returning to my software:

PLUGIN_EVENT_VOLUMESET|(NUMBER)
PLUGIN_EVENT_VOLUMEMUTE|ON
PLUGIN_EVENT_VOLUMEMUTE|OFF

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4306
  • Last login:May 26, 2024, 05:14:32 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #37 on: February 16, 2008, 12:27:39 am »
What does the log file say you are passing to my software?


These are what you should be returning to my software:

PLUGIN_EVENT_VOLUMESET|(NUMBER)
PLUGIN_EVENT_VOLUMEMUTE|ON
PLUGIN_EVENT_VOLUMEMUTE|OFF

OK There are two issues here with Spacefractals JukeBox Even Test

1) Well it works sometimes. When it works it UncleT's reports
Log Reports:PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_VOLUMESET=   value=80
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_CHANGE   cmdValue=0|80|0|100
But most of the time it doesn't do anything. No Log at all. It would be nice to know what this plug-in thinks it is ending (if anything) . The only way I have found to make it work is to change the value a few times and clicking ok. Then it may work. :dunno


2) Mute ON works. UncleT's Log Reports:
PLUGIN-->JUKEBOX:    event=PLUGIN_EVENT_VOLUMEMUTE=   value=ON
JUKEBOX-->PLUGIN:  cmdName=JUKE_VOLUME_MUTE   cmdValue=TRUE
 :)
But the button never changes on Spacefractals window so you can unmute it again.  :(

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #38 on: February 16, 2008, 08:14:12 am »
Based on those logs it looks like my software is behaving normally if I get the plugin information ......  I think Space Fractal needs to comment here as to why my software might not be getting the plugin informationat all .....

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Plugins: Tools by Space Fractal :: Jukebox Event Test
« Reply #39 on: February 16, 2008, 11:15:59 am »
This is due JUKE_VOLUME_MUTE  is NOT checked by the plugin. The plugin only using these commands:

JUKE_PLUGIN_EVENT_GET, JUKE_PLUGIN_EVENT_CREATE, JUKE_APP_HOST and JUKE_PLUGIN_EVENT_SEND.

So the other command, JUKE_VOLUME_CHANGE, is not checked because it is not a PLUGIN_EVENT command, hence it was not a part of the plugin when I wrote it. It was mostly to get the these 4 commands to work correctly and communicate correctly using the same commands.

I remember Uncle'T wont send both commands to the plugin, even they does nearly the same. Event it take very little time to add a another line of code.

I might update it....
« Last Edit: February 16, 2008, 11:20:18 am by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.