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: Document API for JukePlugSys  (Read 181743 times)

0 Members and 1 Guest are viewing this topic.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: A Command List using by Jukebox Plugins (!! V1.0b12 !!)
« Reply #240 on: January 13, 2008, 07:33:41 pm »
Quote
UncleT: Just Updated (and yes we was/still only abit disagree on few commands ONLY, not the whole document). We need to make sure we adding them correct and behaiver very much the same.
I agree

Quote
Of course, Loop And Repeat is of course just a features and all user enable/disable features or simular like that should allways go under features command.

I agree.

I do still added the looping command I have to been used by a plugin, but it of course just a another feature.
I agree as well, thanks for defining these.


One thing though .... you have these duplicate REPEAT commands defined now:

Juke_Command("JUKE_SONG_REPEAT","onOnce OR onAlways OR off")
when the "repeat" feature is turned on, then when the current playing song finishes it will be placed at the end of the song queue automatically.

JukeCommand(JUKE_SONG_REPEAT, "")
this is sent when a song HAS finished playing and the song will immediately be played again.


I prefer the bottom definition please, I believe the top definition should be deleted since we added a JUKE_FEATURE_REPEAT_MODE command now.. 


Quote
Features commands is only the list of commands that might not constain on all software yet (along with few playing commands as well).
I agree .... simply send the FEATURE commands if you software supports that type of feature


Quote
Juke_Command("JUKE_VOLUME_CHANGE", "system|curVolumeLevel|minVolumeLevel|maxVolumeLevel")
A new value volume have been changed or set....
Thanks for changing the name of this command ...  not really necessary but I thought it made more sense.


Quote
Juke_Command("JUKE_PLUGIN_EVENT_CREATE",
  "PLUGIN_EVENT_(name)|boolean ENABLE/DISABLE|boolean NUMBER|numOfKeyEvents|keyEvent1|keyEvent2|...|keyEventX")
This command is not in BOLD in your first post .....like the other, so it looks hidden.  Just letting you know.


Quote
MY FINAL THOUGHTS

I agree with the current command set which Space Fractal has posted (accept for the duplicate definitions of the SONG_REPEAT command which he might address after reading this post).

Lets wait for the plugin authors to review these commands and see if it makes sense to them.  Whatever they do not understand can be discussed BEFORE changing anything.  Basically, lets try not to change the command definitions until we all agree.   Keeping track of stuff which changes so frequently is getting hard.

Should we open a new thread with this current command set at the top and then have the thread be commented by plugin authors to hear their thoughts?


« Last Edit: January 13, 2008, 07:42:55 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
Done. These was just errors.

I think Loadman should create a new thread about gramatic errors or other problems? That part is no my work.


Only little things even it does NOT bother me and can leave at they are:

- SONG_RESTART could restart from begging regaardles it is on the middle on the song or not.
- SONG_REPEAT should roll the song back to the queue, but since it defined in the feature command set, does this command needed and just use SONG_RESTART?

But again, I accepted as they are now, so no need to change them.

This system is really need to been have a seperate Support forum,
so I asked Saint to create that using JukePlugSys as the new support forum...

I have registred the domain, so we should make a mini homepage to JukePlugSys.com, and then have a support forum haven it here (A sticky thread about Plugins can been goes on this forum to link to the new support forum)?
« Last Edit: January 14, 2008, 02:38:52 am 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: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
This system is really need to been have a seperate Support forum,
so I asked Saint to create that using JukePlugSys as the new support forum...


 :dunno  I don't know about that??  I think once the format is set and understood (with good documentation) the posts will settle down a lot.

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
This system is really need to been have a seperate Support forum,
so I asked Saint to create that using JukePlugSys as the new support forum...


 :dunno  I don't know about that??  I think once the format is set and understood (with good documentation) the posts will settle down a lot.

I have to agree with loadman on this one. No need for a new forum. Maybe a pinned topic eventually?

I wonder how many plugin's Space Fractal thinks will be made? lol I know he still thinks I'm writing one ::)

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa

Quote
I have to agree with loadman on this one. No need for a new forum. Maybe a pinned topic eventually?
Yeah, it will end up being just the odd new post for new Plug-ins

I wonder how many plugin's Space Fractal thinks will be made?

My plabs are:
- JukeStub (Plug-in tester to save time)
- LcdDisplay (Basic serial Character/ Betabrite display driver) much like the MaLa one

Maybe List
- A Pause/Volume based on external events
- Random sound wav's triggered on certain events (based on mala plug-in)
« Last Edit: January 14, 2008, 04:51:34 am by loadman »

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Maybe List
- A Pause/Volume based on external events
- Random sound wav's triggered on certain events (based on mala plug-in)

I suppose you could knock up a Speech plugin for it quite easily too. So it says the name of the song, album when you play a song etc.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
I do not think a new forum would be worth it ..... not a lot of people are visiting the Audio/MP3/Jukebox forum as it is .... so I think having posts in this existing forum for plugin will be fine.

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
I think the Support forum could also used to release any plugins (both beta and finished) other have wrote and also get help?

Juke like a other Jukebox software, I just like to seperate Plugins and this forum as well.

My Plans (YES, I have planning to create a plugins or two as well):
- Remote Controller from a another machine.
- Better sound plugin, but that one I wrote was just a test.

There have been requsted over the Freebox forum to get freebox support plugins... They can releaed here too.

But otherwice I would release them on the minisite when the domain work. Would just look more proffessionel when the website linking directrly to a support forum at arcadecontrol.com ask for help (Like UncleT have a support forum too, and SK-Jukebox is not actuelly used more, due SalmonKing have leaved the project).

That all.

ETC, mightbe a sticky thread only one can update and post, just like the Jukebox Software list? OR moving the released plugins to the Wiki?

Should we not create a WIki page about it?



« Last Edit: January 14, 2008, 07:13:25 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:April 26, 2023, 07:34:43 pm
Quote
- SONG_REPEAT should roll the song back to the queue, but since it defined in the feature command set, does this command needed?

I thought you wanted a way to indicate when a song was finished and has been started again immediately like in a "loop".

Anyway, I do not need the "SONG_REPEAT" command so you can delete it if you really do not need it either.

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
I do that using JUKE_FEATURE_LOOP command, can also do that with a defined PLUGIN_EVENT too....

All TRUE/FALSE features can actulle use a PLUGIN_EVENT too, but I leave them all as they are.

Can been renamed to JUKE_SONG_STOP, which the user have stoppet a song, but again I can send a SONG_PAUSE and SONG_RESTART instructions for the same.



Just for fun, here is all PLUGIN_EVENTS I have planning to use in MultiJuke:

Code: [Select]
PLUGIN_EVENT_0|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_1|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_2|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_3|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_4|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_5|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_6|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_7|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_8|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_9|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_ACTIONBUTTON1|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_ACTIONBUTTON2|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_ACTIONBUTTON3|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_ACTIONBUTTON4|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_BACK|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_BLANK|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_CLEAR|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_CONFIG|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_CONTROL|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_CREDITS|FALSE|TRUE|0
PLUGIN_EVENT_GENRELOCK|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_INSERTCOIN1|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_INSERTCOIN2|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LETTERDOWN|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LETTERUP|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LIBRARY 1|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LIBRARY 2|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LIBRARY 3|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LIBRARY 4|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_LOOP|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_MOVEDOWN|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_MOVELEFT|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_MOVERIGHT|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_MOVEUP|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_OK|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_PAGEDOWN|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_PAGEUP|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_PAID|FALSE|TRUE|0
PLUGIN_EVENT_PARENT|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_PAUSE/RESUME|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_QUIT|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_SKIP|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_SONGMODE|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_STOP|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_VOLUMEDOWN|FALSE|FALSE|1|KEYCLICK
PLUGIN_EVENT_VOLUMEMUTE|TRUE|FALSE|1|KEYCLICK
PLUGIN_EVENT_VOLUMESET|FALSE|TRUE|1|KEYCLICK
PLUGIN_EVENT_VOLUMEUP|FALSE|FALSE|1|KEYCLICK
« Last Edit: January 14, 2008, 11:13:51 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:April 26, 2023, 07:34:43 pm
Quote
I do that using JUKE_FEATURE_LOOP command, can also do that with a defined PLUGIN_EVENT too....

All TRUE/FALSE features can actulle use a PLUGIN_EVENT too, but I leave them all as they are.

Yes, perhaps they can .... but I think it is nice that we defined FEATURE commands to indicate the more generic features most all jukebox software have included anyway.   I would suggest we leave the FEATURE commands how they are and simply use the "PLUGIN_EVENT_(name)" events to indicate "jukebox-specific" events only.


Quote
Can been renamed to JUKE_SONG_STOP, which the user have stoppet a song, but again I can send a SONG_PAUSE and SONG_RESTART instructions for the same.
Yes, no need for a "SONG_STOP" commands since that would be true general.  Indicating  the song stopped since it "FINISHED" or has been "RESTARTED" or has been "SKIPPED" is much more helpful I think.

Quote
Just for fun, here is all PLUGIN_EVENTS I have planning to use in MultiJuke:

Looks good to me ..... does this mean you are finding the current "PLUGIN_EVENT_CREATE" command format to be suitable for your needs? 

I noticed you are using the "keyEvent" stuff (glad you left that in there I guess) and that some of your create commands are informing the plugin that 2 keyEvents are allowed to be sent back (KeyDown and KeyUp).  Is there a need to define other keyEvents now?  Perhaps will should wait to see what the plugin authors want. 

I also see that the PLUGIN_EVENT_CREDITS and PLUGIN_EVENT_PAID events are not related to any key events at all.   This exactly how I thought these events could be created and used to inform the plugin exactly what they can be used for and what return values the plugins can send back to the jukebox software.

I need to think about my list ..... might do that later tonight.  At work right now. :P




« Last Edit: January 14, 2008, 01:13:37 pm by unclet »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: A Command List using by Jukebox Plugins (!! V1.0b15, Tiny Fix !!)
« Reply #251 on: January 14, 2008, 02:02:13 pm »
Quote
Juke_Command("JUKE_PLUGIN_EVENT_CREATE",
  "PLUGIN_EVENT_(name)|boolean ENABLE/DISABLE|boolean NUMBER|numOfKeyEvents|keyEvent1|...|keyEventX")

My software allows the user to go directly to all album covers starting with a particular letter.   For example: The user can enter "M" and then this will result in all the albums starting with "M" being displayed.

As a result I would like you to add "LETTER" to the following command before it becomes finalized.  Seems like we should have a letter in there anyway.

Quote
Juke_Command("JUKE_PLUGIN_EVENT_CREATE",
  "PLUGIN_EVENT_(name)|boolean ENABLE/DISABLE|boolean NUMBER|boolean LETTER|numOfKeyEvents| keyEvent1|...|keyEventX")



After making this change, then here are the command formats I am thinking about supporting right now:

Quote
PLUGIN_EVENT_CONFIG|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_EXIT|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_MEDIA_TAB|FALSE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_TAB|FALSE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SEARCH_TAB|FALSE|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_PLAY|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_PAUSE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_FASTREV|FALSE|FALSE|FALSE|1|KEYDOWN|KEYUP
PLUGIN_EVENT_FASTFWD|FALSE|FALSE|FALSE|1|KEYDOWN|KEYUP
PLUGIN_EVENT_SKIP|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_VOLUMEDOWN|FALSE|FALSE|FALSE|1|KEYDOWN|KEYUP
PLUGIN_EVENT_VOLUMESET|FALSE|TRUE|FALSE|0
PLUGIN_EVENT_VOLUMEUP|FALSE|FALSE|FALSE|2|KEYDOWN|KEYUP
PLUGIN_EVENT_VOLUMEMUTE|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_FULLVIDEO|TRUE|FALSE|FALSE|0

PLUGIN_EVENT_PRIMARY_MONITOR_DISP_CYCLE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_DUAL_MONITOR_DISP_CYCLE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_FULLSCREEN|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_SONGQ_CLEAR|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SONGQ_REPEAT|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_SONGQ_RANDOM|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_SONGQ_MOVE|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_SONGQ_UP|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SONGQ_DOWN|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_IDLEPLAY_ACTIVATE|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_RANDOM|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_GENRE|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_GENRE_CYCLE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_TOP10|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_TOP25|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_TOP50|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_IDLEPLAY_TOP100|TRUE|FALSE|FALSE|0

PLUGIN_EVENT_ENTERSEL_DIGIT0|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT1|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT2|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT3|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT4|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT5|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT6|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT7|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT8|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DIGIT9|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_CLEAR|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_DELETE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ENTERSEL_PLAY|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_ALBUM_COVERS_NAV_UP|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_NAV_DOWN|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_NAV_LEFT|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_NAV_RIGHT|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_FLIP_BACKWARD|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_FLIP_FORWARD|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_ALBUM_COVERS_SEEK_1ST_CHAR|FALSE|TRUE|TRUE|0
PLUGIN_EVENT_ALBUM_COVERS_SEEK_2ND_CHAR|FALSE|TRUE|TRUE|0

PLUGIN_EVENT_SONGTRACKS_UP|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SONGTRACKS_DOWN|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SONGTRACKS_SELECT|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_SONGTRACKS_RANDOM|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_SONGTRACKS_PLAYALL|FALSE|FALSE|FALSE|0

PLUGIN_EVENT_PLAYLISTS_CYCLE|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_PLAYLISTS_UP|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_PLAYLISTS_DOWN|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_PLAYLISTS_SELECT|FALSE|FALSE|FALSE|0
PLUGIN_EVENT_PLAYLISTS_RANDOM|TRUE|FALSE|FALSE|0
PLUGIN_EVENT_PLAYLISTS_PLAYALL|FALSE|FALSE|FALSE|0
« Last Edit: January 14, 2008, 08:28:10 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: A Command List using by Jukebox Plugins (!! V1.0b15, Tiny Fix !!)
« Reply #252 on: January 14, 2008, 04:32:34 pm »
I do not touch the JUKE_FEATURES anyway  :).

I Think I just adding a KeyLetter for that instead of adding a new boolean feature (and is backward combatible with last SDK beta). That why we can expand KeyEvent List when needed.

KeyClick
KeyDown
KeyUp
KeyLetter?

ETC

PLUGIN_EVENT_ALBUM_COVERS_SEEK_1ST_LETTER|FALSE|TRUE|1|KeyLetter
PLUGIN_EVENT_ALBUM_COVERS_SEEK_2ND_LETTER|FALSE|TRUE|1|KeyLetter

All it should do is using AscII Scancode and send as number to the plugin (Like a Char in C++). If the plugin trying send back other than a letter, just iqnore it.

I now added KeyLetter, so it still fully combatibile with previous beta.

I found small error n your list:
PLUGIN_EVENT_VOLUMEDOWN|FALSE|FALSE|FALSE|1|KEYDOWN|KEYUP should been
PLUGIN_EVENT_VOLUMEDOWN|FALSE|FALSE|FALSE|2|KEYDOWN|KEYUP

The number 2 should the number of argument used (you have a KEYDOWN and KEYUP here).

« Last Edit: January 14, 2008, 05:45:46 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: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
 :applaud: NICE TO SEE YOU ARE DOWN TO PLANNING A LIST OF SUPPORTED COMMANDS GUYS    :applaud:

I think the Support forum could also used to release any plugins (both beta and finished) other have wrote and also get help?

Again, I think just posting questions or release in this forum will be fine. They may not be seen if they get posted elsewhere.  The balance for FE Plug-ins seems to be ok for mala in the software forum 8)

Quote
ETC, mightbe a sticky thread only one can update and post, just like the Jukebox Software list? OR moving the released plugins to the Wiki?
Should we not create a WIki page about it?]ETC, mightbe a sticky thread only one can update and post, just like the Jukebox Software list? OR moving the released plugins to the Wiki?
Should we not create a WIki page about it?

Wiki has been started.  Feel free to add/change  ;D

http://wiki.arcadecontrols.com/wiki/Jukebox_Plug-Ins
« Last Edit: January 14, 2008, 04:48:02 pm by loadman »

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: A Command List using by Jukebox Plugins (!! V1.0b15, Tiny Fix !!)
« Reply #254 on: January 14, 2008, 05:04:32 pm »
Like I explain for the other post. what hell can the enduser finding around this big thread, that is mostly technical?

When the SDK is end and release the final version, I like to lock this thread or leave as it are. I guess it would take time before we talk about version 1.1.

Then we should tell the enduser how this is all about as non technical talk (A new thread) what this is all about.

enduser have normally no technical knownable at all.


NB. Plugin support is dropped. Your guys might been right, since this forum might fall neary back to normal after some time. I do still create the mini website about this system.
« Last Edit: January 14, 2008, 05:22:20 pm 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
http://www.jukeplugsys.com/ works and now show a WordPress standard site. I guess HeadKaze and others might want some access to write about the SDK, Plugins and About sections.

At by now, it use the default theme. but would nice to change that with a fine logo. I guess HeadKaze and Loadman is intered to mainsstrem the blog?

I looking on the theme of the website tomorrow danish time, but a least it works now. I dedicated to registred the shorted version of the domain, that is easy to remember.

On the frontpage It could been any released plugins and applications. But let me know.
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:April 26, 2023, 07:34:43 pm
Quote
I Think I just adding a KeyLetter for that instead of adding a new boolean feature (and is backward combatible with last SDK beta). That why we can expand KeyEvent List when needed.

Well I did not want to "release" anything official until loadman at least had a chance to see if everything made sense and also until we had a chance to get into the coding part ourselves a bit more.

Adding something called "KeyLetter" is not a correct way to go about this, for what I need. 

Here is what I recommend ........

Lets just do what I first wanted to do until everything got changed to boolean values.... which I thought was fine .... until now.   It is even easier than I first thought and I think everyone should like this format a lot better.

DONT WORRY, IT IS A MINOR CHANGE, but makes a lot more sense


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

where:

valueStr = text string indicating which types of values which are allowed to be sent to (and received from) the plugin.   This string consists of any of the following text values listed below.  Each value is space delimited.

ENABLE = allow the user to provide input or invoke change  (ie: allow users to delete queued songs)
DISABLE = DO NOT allow user to provide input or invoke change (ex: do not allow users to delete queued songs)
NUMBER = a number can be provided (ex: set volume level)
LETTER = a letter can be provided (ex: jump to album covers starting with a certain letter)
ON = a feature or setting has been turned on (ex: repeat song ON, mute volume on)
OFF = a feature or setting has been turned off (ex: repeat song OFF, mute volume off)
KEYDOWN = a button has been pressed
KEYUP = a button has been released
KEYCLICK = a button has been pressed and released


Note: I expanded it to include all current values as well as "ON and "OFF" values since these are not the same as "ENABLE" and "DISABLE".



This is a lot easier since:

1) No parsing has to be done to determine which values are allowed, just see if the text is within the string provided

2) The list of allowable values can easily be expanded without making the whole "PLUGIN_EVENT_CREATE" format larger.

3) Allows me to indicate "ENABLE" should be allowed, but "DISABLE" should NOT be allowed. (This is required when I have "Option buttons" in which you really can only indicate which button is enabled ..... you can not disable all "Option buttons" at once.  Basically, enabling one option button would automatically cause the other option buttons to be disabled)


For example:
To indicate whether something is on or off then the following command would be created:

JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"ON OFF"


To indicate a number or letter can be associated with the event:

JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"NUMBER LETTER"


To indicate you can enable or disable something as well as indicating you can receive some keyEvent for it:

JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"ENABLE DISABLE KEYDOWN KEYUP KEYCLICK"


Now, "just for fun" lets say there is an event which allows the plugin to enable/disable it, also allows it to enter a number and a letter:

JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"ENABLE DISABLE NUMBER LETTER"


I would highly recommend updating the standard to this format.  This is what I originally wanted but I thought you wanted booleans instead for some reason, which I thought was fine .... until now ...... this is a LOT easier to understand, maintain and expand.



« Last Edit: January 14, 2008, 10:35:22 pm by unclet »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
My new supported events would look like this instead (much easier):


Quote
PLUGIN_EVENT_APP_EXIT|""

PLUGIN_EVENT_MEDIA_TAB|""
PLUGIN_EVENT_ALBUM_TAB|""
PLUGIN_EVENT_SEARCH_TAB|""

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_VOLUMEUP|"KEYDOWN KEYUP"
PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN KEYUP"
PLUGIN_EVENT_FULLVIDEO|"ON OFF"

PLUGIN_EVENT_PRIMARY_MONITOR_DISP_CYCLE|""
PLUGIN_EVENT_DUAL_MONITOR_DISP_CYCLE|""
PLUGIN_EVENT_FULLSCREEN|"ON OFF"

PLUGIN_EVENT_SONGQ_CLEAR|""
PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF"
PLUGIN_EVENT_SONGQ_RANDOM|"ON OFF"
PLUGIN_EVENT_SONGQ_MOVE|"ENABLE DISABLE"
PLUGIN_EVENT_SONGQ_UP|""
PLUGIN_EVENT_SONGQ_DOWN|""

PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"
PLUGIN_EVENT_IDLEPLAY_RANDOM|"ON OFF"
PLUGIN_EVENT_IDLEPLAY_GENRE|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_GENRE_CYCLE|""
PLUGIN_EVENT_IDLEPLAY_TOP10|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP25|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP50|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP100|"ENABLE"

PLUGIN_EVENT_ENTERSEL_DIGIT0|""
PLUGIN_EVENT_ENTERSEL_DIGIT1|""
PLUGIN_EVENT_ENTERSEL_DIGIT2|""
PLUGIN_EVENT_ENTERSEL_DIGIT3|""
PLUGIN_EVENT_ENTERSEL_DIGIT4|""
PLUGIN_EVENT_ENTERSEL_DIGIT5|""
PLUGIN_EVENT_ENTERSEL_DIGIT6|""
PLUGIN_EVENT_ENTERSEL_DIGIT7|""
PLUGIN_EVENT_ENTERSEL_DIGIT8|""
PLUGIN_EVENT_ENTERSEL_DIGIT9|""
PLUGIN_EVENT_ENTERSEL_CLEAR|""
PLUGIN_EVENT_ENTERSEL_DELETE|""
PLUGIN_EVENT_ENTERSEL_PLAY|""

PLUGIN_EVENT_ALBUM_COVERS_NAV_UP|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_DOWN|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_LEFT|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_RIGHT|""
PLUGIN_EVENT_ALBUM_COVERS_FLIP_BACKWARD|""
PLUGIN_EVENT_ALBUM_COVERS_FLIP_FORWARD|""
PLUGIN_EVENT_ALBUM_COVERS_SEEK_1ST_CHAR|"NUMBER LETTER"
PLUGIN_EVENT_ALBUM_COVERS_SEEK_2ND_CHAR|"NUMBER LETTER"

PLUGIN_EVENT_SONGTRACKS_UP|""
PLUGIN_EVENT_SONGTRACKS_DOWN|""
PLUGIN_EVENT_SONGTRACKS_SELECT|""
PLUGIN_EVENT_SONGTRACKS_RANDOM|"ON OFF"
PLUGIN_EVENT_SONGTRACKS_PLAYALL|""

PLUGIN_EVENT_PLAYLISTS_CYCLE|""
PLUGIN_EVENT_PLAYLISTS_UP|""
PLUGIN_EVENT_PLAYLISTS_DOWN|""
PLUGIN_EVENT_PLAYLISTS_SELECT|""
PLUGIN_EVENT_PLAYLISTS_RANDOM|"ON OFF"
PLUGIN_EVENT_PLAYLISTS_PLAYALL|""
« Last Edit: January 16, 2008, 11:03:47 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
I Update: D, I 100% agree, that one is much much easier to understand and for use.

beware: I add a UTF8 based Letters for unicode support (can use 2-4 bytes for encodning), if unicode is enabled.
« Last Edit: January 15, 2008, 02:52:53 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:April 26, 2023, 07:34:43 pm
Re: Plugins: A Command List using by Jukebox Plugins (!! V1.0b17, final? !!)
« Reply #259 on: January 15, 2008, 07:31:48 am »
Quote
I Update: D, I 100% agree, that one is much much easier to understand and for use.
:applaud:   :cheers:  :applaud:

Quote
I add a UTF8 based Letters for unicode support (can use 2-4 bytes for encodning), if unicode is enabled
My UNICODE will always be set to FALSE, so I am not sure whether I need to worry about this stuff. 

Quote

MY LAST RECOMMENDATION
I think we should now remove the "JUKE_FEATURE_xxxxx" stuff now.   I agree these should all be handled by "PLUGIN_EVENT_(name)" events instead.

After this change I think I might be done tweaking ....... what do you think.

PS:  Also make sure you update your Beta version (highlighted in RED) in the first post so headkaze can generate a new code version.  CUrrently it lists beta16, but you are at b17 now.   After removing the "JUKE_FEATURE_xxxx" stuff, you should be at beta18.


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: A Command List using by Jukebox Plugins (!! V1.0b17, final? !!)
« Reply #260 on: January 15, 2008, 08:05:45 am »
I removed all TRUE/FALSE commands under features, unless one (CONFIG).....

I leave rest are, because they are NOT a TRUE/FALSE statement commands, ATTRACT MODE, LOOP and AUTOPLAY example. There use a output string or using 3 arguments.

Hence all TRUE/FALSE commands is now allways Plugin_Event commands.... Hence we can have various events about it.

If your software does not support unicode, just set it to false, and you are not need to been worry anything about it....

There is some software (Like MultiJuke) that support Unicode and to been backward com bitable that is why I choice UTF8 to sending with strings, since it use a 8 bit encode system, when char>128 is used.....

I think there is no more TWEEKS, which the last 4 betas was just about? One of the bigger tweak was for easier understand of 3 commands, that still does the same...
« Last Edit: January 15, 2008, 08:27:29 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:April 26, 2023, 07:34:43 pm
1) I think you are missing the advantage of using this type of syntax ...... the advantage of defining individual text to be used in the PLUGIN_EVENT_CREATE command is that you can also define the following text and then simply remove ALL of the "JUKE_FEATURE-xxxx" stuff completely.   This is the whole point of using individual text strings.

Just define these as well:

ONACTIVE = feature is turned ON but is actively running (ex: feature to automatically select a song to play when the jukebox is idle is ON and is ACTIVE now since the jukebox became idle and selected a song to play automatically)

ONNOTACTIVE = feature is turned ON but is NOT actively running  (ex: feature to automatically select a song to play when the jukebox is idle is ON but NOT ACTIVE now since jukebox still has user-selected songs to play)

DOONCE = only perform the action one time (ex: after the currently playing song finishes, then replay the song one more time immediately)

DOALWAYS = perform the action all the time  (ex: after the currently playing song finishes, then replay the song again and keep doing this continuously)



So I would recommend adding the text above and simply removing the JUKE_FEATURE_ xxx stuff ....... makes it even easier for a plugin to understand what is going on.


** One exception might be the "JUKE_FEATURE_AUTOPLAY" feature.  This is a feature which was created to indicate when the software automatically chooses a song to be played instead of letting the jukebox become idle (ie: no songs at all playing). 

I am no longer going to be using this AUTOPLAY feature since I can indicate whether automatic playing of songs is occurring using a "PLUGIN_EVENT" event (using the ONACTIVE, ONNOTACTIVE and OFF indicators).   

Now, it seems the "JUKE_FEATURE_AUTOPLAY" feature also allows a way to indicate to the plugin to display some text on the screen.   Not sure if "JUKE_FEATURE_AUTOPLAY" is really named correctly for this type of function ..... but if you need it then keep it .... but I would think about renaming it to something better.  Up to you.

... but make sure to delete the "JUKE_FEATURE_xxx" stuff from your first post now   :)


2) Please add the RED below:

Juke_Command("JUKE_PLUGIN_EVENT_SEND", "PLUGIN_EVENT_(name)|valueStr")
Sends a previously defined jukebox-specific command to the plugin with a valueStr.

and....

retValStr = Juke_Command("JUKE_PLUGIN_EVENT_GET", "")
Send a defined command back to the Jukebox Software.

where:   retvalStr = a text string in this format ---> "PLUGIN_EVENT_(name)|valueStr"


3) Please add this new example under the "PLUGIN_EVENT_CREATE" section:

To indicate you have a feature which can be "turned on but is not active yet", "turned on and is currently active" or is "turned off":
JukeCommand("PLUGIN_EVENT_CREATE", "PLUGIN_EVENT_(name)|"ONACTIVE ONNOTACTIVE OFF"


« Last Edit: January 15, 2008, 10:14:02 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
I think it way to been too many statament, if these are added i Think? I want this to been general as possible, hence I really like enable/disable/letter/number/on/off and these 3 keyevents as well.

I want to limit to these, you defined at your post.


You could actuelly use something like this to do the same:
PLUGIN_EVENT_ATTRACK_MODE|ENABLE DISABLE ON OFF"

ENABLE DISABLE take care if the ATTRACK MODE is ON (Enabled) or OFF (Disabled).
when the attrackmode is enabled, ON = OnActive, and Off=NoActive.

Due you can do that above for doing the same, I have just marked all features as removed and show what they so would do (I think Barcrest have added most of thest to, hence I cant just remove them, instead marked that with text).

I renamed AUTOPLAY to JUKE_SONG_PLAYMODE(AnyText). You right.



After these tweaks I have this list now to cover the missing various features... Look in commands.txt (this is for INTERNAL use for MultiJuke).

« Last Edit: January 15, 2008, 11:23:49 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:April 26, 2023, 07:34:43 pm
I think it way to been too many statament, if these are added i Think? I want this to been general as possible, hence I really like enable/disable/letter/number/on/off as well.

I want to limit to these, you defined at your post.


You could actuelly use something like this to do the same:
PLUGIN_EVENT_ATTRACK_MODE|ENABLE DISABLE ON OFF"

ENABLE DISABLE take care if the ATTRACK MODE is ON (Enabled) or OFF (Disabled).
when the attrackmode is enabled, ON = OnActive, and Off=NoActive.

If you do that above, all FEATURES would simple been deleted, only AUTOPLAY. I think I rename that to JUKE_SONG_PLAYMODE(AnyText) for the same.

Ok I agree ..... I will use ENABLE/DISABLE to indicate that the ATTRACT_MODE feature is allowed or not allowed and then I will use ON/OFF to indicate whether it is active or not.

I also like you new name "JUKE_SONG_PLAYMODE(AnyText)" to simply inform the plugin about various play modes which the jukebox is in.   I am assuming you will be listing this next to the other "JUKE_SONG_xxx" commands and then simply removing all "JUKE_FEATURE_xxxx" commands from the bottom.

Also, I do not need the "DOONCE" or "DOALWAYS" but I put them there since I thought you needed them for your LOOP song functions....... you can delete them if you do not need them.

So ... I think I am done.   Go ahead and update your first post and I will review it and then will respond in this thread indicating whether I agree to be finally be DONE.

PS: I am going to lunch now, I will return a bit later so give me a bit of time to return ...

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
I moved the PLAYMODe command.

As I wrote for the FEATURE COMMANDS, just marked them now, so example Barcrest see why they removed, and what he need to do that same. Doing that we doesn't need to have the same features on all jukebox software, since we just can define them.

Some events might named different, but again, it can been configured (if you want to use PARTY_MODE as name and I have a CONFIG_LOCK doing the same, that OK).

Example the credits mode you doesn't have, I can just use the NUMBER feature to info how many credits there is left....  The rest is up to the writer to configure and checking available defined commands them self and suit theirs need.

I think we cant do that more universal now?


Do we see all is agreed for second time? Should we not stat that as V1.01 (due to these many tweaks, even all betas was for 1.0)?

If do, thanks for the debate :D, I do hope I did head more from Barcrest as well other jukebox authors (where is Chris?).

To HeadKaze and LoadMan, do you want to mainstream the new http://www.jukeplugsys.com homepage (it really need a logo)? Please create a profile, and I enable both of you as authors.




« Last Edit: January 15, 2008, 11:50:24 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:April 26, 2023, 07:34:43 pm
Please update this RED text:

Quote
Juke_Command("JUKE_PLUGIN_EVENT_SEND", "eventName|valueStr")
Sends a previously defined jukebox-specific command to the plugin with a valueStr.

where: eventName = a text string in this format ---> "PLUGIN_EVENT_(name)"
               valueStr = (see "PLUGIN_EVENT_CREATE" command definition)



Anyway, I would not wait.  Barcrest, possibly Chris, and plugin authors have simply be waiting for us to declare the design as FINAL.

Once it is final, they can get to coding and possibly discover and report any further tweaks which might be required.

I would just delete all the features, delete anything else you have marked to be removed, define your new "JUKE_SONGMODE" command properly and then we can be done.

Headkaze can then get on with creating updated code as well.

Congratulations and good job !    :applaud:  :applaud:  :applaud:  :cheers:
« Last Edit: January 15, 2008, 02:03:24 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: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #266 on: January 15, 2008, 04:23:31 pm »
DONE.

I have removered all brown marked commands and just tell, how they can used by PLUGIN_EVENT.

Now since it final, I have also removed all Beta texts, so its nicely and short. gosh, it took 2 weeks intesivt debate.

To you UncleT:  :cheers: :cheers:

after a long debate and long posts. Just checkout number of posts.

It was very good idea aboat these PLUGIN_EVENT, only one command might not been needed, that is VOLUME_MUTE, but since ALL software (or should) have that featuere I leave that one.


Now it time to code these in in my software. I dedicated release MultiJuke with this system on Sunday. I hope you also wait, but it up to you.
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:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #267 on: January 15, 2008, 04:27:49 pm »
I have not started to code this stuff ...... I will try to get to it some time soon.  I need a little break first   ;)

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: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #268 on: January 15, 2008, 04:32:21 pm »
he he, I understand  :D. I never trough about this long debalt, but it was fun, even it was a bit upset at time. no worry.

I want also a little break...

Now LoadMan, it time to checking for grammatical errors and such and maybe more in-depth text if needed. I do NOT touch this SDK anymore for a while, even if pluginwriters want some stuff tweaked.


I still waiting for hearing about mainsteam the newly created website.
« Last Edit: January 15, 2008, 04:35:23 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: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #269 on: January 15, 2008, 05:30:03 pm »

I have not started to code this stuff ...... I will try to get to it some time soon.  I need a little break first   ;)

Wow.  I did not think it would be done so soon!   :o  .

Now LoadMan, it time to checking for grammatical errors and such and maybe more in-depth text if needed. I do NOT touch this SDK anymore for a while, even if pluginwriters want some stuff tweaked.

Thanks Guys.  :applaud: :applaud:

The real world has caught up with me but I will finish that and report back.    8)
« Last Edit: January 15, 2008, 07:40:40 pm by loadman »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #270 on: January 16, 2008, 11:02:19 am »
loadman

Tell me which of the commands I have listed below do you think you would like to be implemented.   Looking at this effort last night for about 10 minutes, makes me seem I have way too much stuff to try to put in.   I do not want to put everything little thing in if no one is going to use it.  I think I would like to do the least amount of work possible to start and then add stuff in when people request the functionality.  If you are going to be the only person writing a plugin, then perhaps I do not need all of the commands I have listed, thus saving me a lot of time.   

1) Do I really "need" to inform the plugin when I am navigating UP/DOWN through the album covers, song list or song queue?   
2) Do I really need to allow a plugin to move songs around in the song queue? 
3) Do I really need the plugin to be able to switch between the Media/Album/Search tab windows?
4) Do I really need to allow the plugin to cycle through the video, cover and lyrics displays?

All of these actions are not going to be present in all software so I would not think you would be offering these functions in a plugin ..... but I guess I do not really know.


Quote
PLUGIN_EVENT_APP_EXIT|""

PLUGIN_EVENT_MEDIA_TAB|""
PLUGIN_EVENT_ALBUM_TAB|""
PLUGIN_EVENT_SEARCH_TAB|""

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_VOLUMEUP|"KEYDOWN KEYUP"
PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN KEYUP"
PLUGIN_EVENT_FULLVIDEO|"ON OFF"

PLUGIN_EVENT_PRIMARY_MONITOR_DISP_CYCLE|""
PLUGIN_EVENT_DUAL_MONITOR_DISP_CYCLE|""
PLUGIN_EVENT_FULLSCREEN|"ON OFF"

PLUGIN_EVENT_SONGQ_CLEAR|""
PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF"
PLUGIN_EVENT_SONGQ_RANDOM|"ON OFF"
PLUGIN_EVENT_SONGQ_MOVE|"ENABLE DISABLE"
PLUGIN_EVENT_SONGQ_UP|""
PLUGIN_EVENT_SONGQ_DOWN|""

PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"
PLUGIN_EVENT_IDLEPLAY_RANDOM|"ON OFF"
PLUGIN_EVENT_IDLEPLAY_GENRE|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_GENRE_CYCLE|""
PLUGIN_EVENT_IDLEPLAY_TOP10|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP25|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP50|"ENABLE"
PLUGIN_EVENT_IDLEPLAY_TOP100|"ENABLE"

PLUGIN_EVENT_ENTERSEL_DIGIT0|""
PLUGIN_EVENT_ENTERSEL_DIGIT1|""
PLUGIN_EVENT_ENTERSEL_DIGIT2|""
PLUGIN_EVENT_ENTERSEL_DIGIT3|""
PLUGIN_EVENT_ENTERSEL_DIGIT4|""
PLUGIN_EVENT_ENTERSEL_DIGIT5|""
PLUGIN_EVENT_ENTERSEL_DIGIT6|""
PLUGIN_EVENT_ENTERSEL_DIGIT7|""
PLUGIN_EVENT_ENTERSEL_DIGIT8|""
PLUGIN_EVENT_ENTERSEL_DIGIT9|""
PLUGIN_EVENT_ENTERSEL_CLEAR|""
PLUGIN_EVENT_ENTERSEL_DELETE|""
PLUGIN_EVENT_ENTERSEL_PLAY|""

PLUGIN_EVENT_ALBUM_COVERS_NAV_UP|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_DOWN|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_LEFT|""
PLUGIN_EVENT_ALBUM_COVERS_NAV_RIGHT|""
PLUGIN_EVENT_ALBUM_COVERS_FLIP_BACKWARD|""
PLUGIN_EVENT_ALBUM_COVERS_FLIP_FORWARD|""
PLUGIN_EVENT_ALBUM_COVERS_SEEK_1ST_CHAR|"NUMBER LETTER"
PLUGIN_EVENT_ALBUM_COVERS_SEEK_2ND_CHAR|"NUMBER LETTER"

PLUGIN_EVENT_SONGTRACKS_UP|""
PLUGIN_EVENT_SONGTRACKS_DOWN|""
PLUGIN_EVENT_SONGTRACKS_SELECT|""
PLUGIN_EVENT_SONGTRACKS_RANDOM|"ON OFF"
PLUGIN_EVENT_SONGTRACKS_PLAYALL|""

PLUGIN_EVENT_PLAYLISTS_CYCLE|""
PLUGIN_EVENT_PLAYLISTS_UP|""
PLUGIN_EVENT_PLAYLISTS_DOWN|""
PLUGIN_EVENT_PLAYLISTS_SELECT|""
PLUGIN_EVENT_PLAYLISTS_RANDOM|"ON OFF"
PLUGIN_EVENT_PLAYLISTS_PLAYALL|""


Here is a list which "I think" might be sufficient for now .... let me know what you think:

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_VOLUMEUP|"KEYDOWN KEYUP"
PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN KEYUP"
PLUGIN_EVENT_FULLVIDEO|"ON OFF"   <-- do you need this???
PLUGIN_EVENT_FULLSCREEN|"ON OFF" <-- do you need this???

PLUGIN_EVENT_SONGQ_CLEAR|"" <-- do you need this???
PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF" <-- do you need this???

PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"

PLUGIN_EVENT_ENTERSEL_DIGIT|"NUMBER"
PLUGIN_EVENT_ENTERSEL_CLEAR|""
PLUGIN_EVENT_ENTERSEL_DELETE|""
PLUGIN_EVENT_ENTERSEL_PLAY|""
« Last Edit: January 18, 2008, 02:51:02 pm by unclet »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #271 on: January 16, 2008, 10:11:53 pm »
posted in wrong post ...... oops

« Last Edit: January 16, 2008, 10:23:37 pm by unclet »

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #272 on: January 17, 2008, 04:12:00 am »
loadman
1) Do I really "need" to inform the plugin when I am navigating UP/DOWN through the album covers, song list or song queue?   
NIMHO  ;)
Quote

2) Do I really need to allow a plugin to move songs around in the song queue? 

Would be cool long term, But just Skip or Next song would do.
Quote
3) Do I really need the plugin to be able to switch between the Media/Album/Search tab windows?
NIMHO  ;)
Quote
4) Do I really need to allow the plugin to cycle through the video, cover and lyrics displays?
NIMHO  ;)

Here is a list which "I think" might be sufficient for now .... let me know what you think:

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_VOLUMEUP|"KEYDOWN KEYUP"
PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN KEYUP"
PLUGIN_EVENT_FULLVIDEO|"ON OFF"   <-- do you need this???
NIMHO  ;)
PLUGIN_EVENT_FULLSCREEN|"ON OFF" <-- do you need this???
NIMHO  ;)

PLUGIN_EVENT_SONGQ_CLEAR|"" <-- do you need this???
NIMHO  ;)
PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF" <-- do you need this???
NIMHO  ;)

PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"

PLUGIN_EVENT_ENTERSEL_DIGIT0|""
PLUGIN_EVENT_ENTERSEL_DIGIT1|""
PLUGIN_EVENT_ENTERSEL_DIGIT2|""
PLUGIN_EVENT_ENTERSEL_DIGIT3|""
PLUGIN_EVENT_ENTERSEL_DIGIT4|""
PLUGIN_EVENT_ENTERSEL_DIGIT5|""
PLUGIN_EVENT_ENTERSEL_DIGIT6|""
PLUGIN_EVENT_ENTERSEL_DIGIT7|""
PLUGIN_EVENT_ENTERSEL_DIGIT8|""
PLUGIN_EVENT_ENTERSEL_DIGIT9|""
PLUGIN_EVENT_ENTERSEL_CLEAR|""
PLUGIN_EVENT_ENTERSEL_DELETE|""
PLUGIN_EVENT_ENTERSEL_PLAY|""

Cool   ;)
« Last Edit: January 17, 2008, 04:19:19 am by loadman »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #273 on: January 17, 2008, 07:22:09 am »
sounds good to me ....

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: v1.01 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #274 on: January 18, 2008, 12:28:04 pm »
I found a command with very bad destripted and is very usable. Hence I changed it to v1.01. It ONLY that one command I changed a bit and is a minor change.

The command I talking about is:
SuggestionFile=Juke_Command("JUKE_SONGLIST_SUGGESTION", "LastPlayedFile")

I think this is the last change I take on the SDK in a while.
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:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.01 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #275 on: January 18, 2008, 01:21:02 pm »
fine with me .....

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: v1.00 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #276 on: January 18, 2008, 10:02:59 pm »
sounds good to me ....

What 'JUKE_SONG'  commands will you guys be supporting in the near future realistically?

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.01 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #277 on: January 18, 2008, 10:24:33 pm »
BLUE = supporting
RED = NOT supporting.   

Code is kind of done, testing is complete but I need to do a few more things before releasing ...... just a few more odds/ends:

Quote
PCHAR  Juke_GetPluginInfo();
int    Juke_Initialize(value);
int    Juke_Shutdown(value);
int    Juke_Configure(HWND hWndParent);
PCHAR  Juke_Command(Pchar Namer, PChar Value);


Juke_Command("JUKE_APP_GAINFOCUS","")
Juke_Command("JUKE_APP_LOSTFOCUS","")

UNICODE_SUPPORT$=Juke_Command("JUKE_APP_UNICODE","TRUE or FALSE")

Juke_Command("JUKE_APP_HOST","SOFTWARE NAME")
Juke_Command("JUKE_SONGLIST_ADD_SONG","system|postition|title|artist|album|genre|totalDuration|TrackNr|AlbumNr|more")
Juke_Command("JUKE_SONGLIST_REMOVE_SONG", "position")
Juke_Command("JUKE_SONGLIST_MOVE_SONG", "oldPosition|newPosition")
Juke_Command("JUKE_SONGLIST_CLEAR", "")
Juke_Command("JUKE_SONGLIST_CURRENTPOSITION", "position")
SuggestionFile=Juke_Command("JUKE_SONGLIST_SUGGESTION", "LastPlayedFile")


Juke_Command("JUKE_SONG_START","system|title|artist|album|genre|totalDuration|TrackNr|AlbumNr")
Juke_Command("JUKE_SONG_NEXT","system|title|artist|album|genre|totalDuration|TrackNr|AlbumNr")
Juke_Command("JUKE_SONG_FINISH","")
Juke_Command("JUKE_SONG_RESTART", "")
Juke_Command("JUKE_SONG_SKIP","")
Juke_Command("JUKE_SONG_PAUSE","")
Juke_Command("JUKE_SONG_RESUME","")

Juke_Command("JUKE_SONG_PLAYMODE", "AnyMode")
Juke_Command("JUKE_SONG_FASTFWD_START","")
Juke_Command("JUKE_SONG_FASTFWD_FINISH","")
Juke_Command("JUKE_SONG_FASTREV_START","")
Juke_Command("JUKE_SONG_FASTREV_FINISH","")
Juke_Command("JUKE_SONG_PLAY_POSITION",curPosSecs|totalDuration)
Juke_Command("JUKE_ENTER_ALBUM_VALUE", "VALUE")
Juke_Command("JUKE_ENTER_TRACK_VALUE", "VALUE")
Juke_Command("JUKE_VOLUME_CHANGE", "system|curVolumeLevel|minVolumeLevel|maxVolumeLevel")
Juke_Command("JUKE_VOLUME_MUTE", "TRUE or FALSE")


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

    where "PLUGIN_EVENT_(name)|valueStr" can be one of the following:

    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|""


Juke_Command("JUKE_PLUGIN_EVENT_SEND", "PLUGIN_EVENT_(name)|valueStr")

    where "PLUGIN_EVENT_(name)|valueStr" can be one of the following:

    PLUGIN_EVENT_APP_EXIT|""
    PLUGIN_EVENT_SONGQ_REPEAT|"ON OFF"
    PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON OFF"
    PLUGIN_EVENT_ALBUM_COVERS_FLIP_BACKWARD|""
    PLUGIN_EVENT_ALBUM_COVERS_FLIP_FORWARD|""



retValStr = Juke_Command("JUKE_PLUGIN_EVENT_GET", "")

    where "retValStr" is of the format "PLUGIN_EVENT_(name)|valueStr" and can be one of the following:

    PLUGIN_EVENT_APP_EXIT|""
    PLUGIN_EVENT_PLAY|""
    PLUGIN_EVENT_PAUSE|""
    PLUGIN_EVENT_FASTREV|"KEYDOWN" or "KEYUP"
    PLUGIN_EVENT_FASTFWD|"KEYDOWN" or "KEYUP"
    PLUGIN_EVENT_SKIP|""
    PLUGIN_EVENT_VOLUMESET|"NUMBER"
    PLUGIN_EVENT_VOLUMEMUTE|"ON" or "OFF"
    PLUGIN_EVENT_VOLUMEUP|"KEYDOWN" or "KEYUP"
    PLUGIN_EVENT_VOLUMEDOWN|"KEYDOWN" or "KEYUP"
    PLUGIN_EVENT_SONGQ_CLEAR|""
    PLUGIN_EVENT_SONGQ_REPEAT|"ON" or "OFF"
    PLUGIN_EVENT_IDLEPLAY_ACTIVATE|"ON" or "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|""



« Last Edit: January 18, 2008, 11:10:43 pm by unclet »

loadman

  • Wiki Contributor
  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Plugins: v1.01 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #278 on: January 18, 2008, 10:45:54 pm »
Code is kind of done, testing is complete but I need to do a few more things before releasing ...... just a few more odds/ends:

mate..... No rush .  I'm blown away how quickly this all came together.  :o    :applaud:

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: Plugins: v1.01 Document API for JukePlugSys (!! DONE, YES FINALLY DONE !!)
« Reply #279 on: January 18, 2008, 11:02:55 pm »
Well my artwork for my jukebox has not arrived yet  :-[  so I have some free time.  I thought I would be wrapping up my jukebox build instead of coding, but it just did not happen yet.
« Last Edit: January 18, 2008, 11:20:40 pm by unclet »