loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #320 on: February 10, 2008, 03:17:22 AM » |
|
2 software is released with this system. We still missing Freebox and maybe DWJukebox...
C'mon guys 
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #321 on: February 10, 2008, 04:51:29 AM » |
|
Barcrest is linked to the JukePlugSys.com in his homepage, if you check the frontpage out. So I assume version 4 would support it.
So I Guess this would not been supported it in version 3, since he only want to bug fixes issues and doesn't add new feature anymore.
Instead He want to get version 4 finished, which is now in beta state for registered costumers. So I hope he got it added this system to version 4.
I do understand that.
Chris (Author of DWJukebox), any change you add this system to the Windows version? Should I send you the little "wrapper" i used in MultiJuke?
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #322 on: March 05, 2008, 07:21:47 PM » |
|
Hi there. Just joined this forum after lurking on and off for a while.
I've written a jukebox application and am interested in supporting the JPS. My app is written with Delphi 7. I don't know what the rest of you use.
I'm new to dll's but have had a quick play and am learning fast! Is anyone here willing to give me some pointers on the host code?
edit: I've just worked out how to talk to a juke plugin in Delphi. My main question is do I have to support more than one plugin at once? If so, do you keep the references to them in an array?
|
|
|
|
« Last Edit: March 05, 2008, 08:38:59 PM by David_AVD »
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #323 on: March 05, 2008, 08:54:43 PM » |
|
Hi there. Just joined this forum after lurking on and off for a while.
Welcome I've written a jukebox application and am interested in supporting the JPS. My app is written with Delphi 7. I don't know what the rest of you use. I write my Plug-in in Delphi but I think Unclet's Juke is in VB6 My main question is do I have to support more than one plugin at once? Yes Please If so, do you keep the references to them in an array?  Pass Ahhh pass
|
|
|
|
|
Logged
|
|
|
|
unclet
Trade Count:
( +2)
Full Member
 
Offline
Posts: 3321
Video/audio jukebox with tons of features
|
 |
« Reply #324 on: March 05, 2008, 10:15:37 PM » |
|
If you are going to write a plugin supporting the JPS then you are going to need to support the functions listed at the beginning of this post (page 1).
The main ones are:
Juke_GetPluginInfo Juke_Initialize Juke_Shutdown Juke_Configure Juke_Command
When my jukebox software (written in VB6) starts, it looks into my "plugin" directory to see if any plug files exist in there. If there are files existing then I loop through each plugin file and determine whether the above routines exist or not. IF they do not then I do not consider it a valid plugin file. If the routines do exist, then I call the "Juke_Initialize" routine in the plugin so it can perform any init stuff it needs to and I also call the "Juke_GetPluginInfo" routine to get the plugin name, author, etc... information (which I display inside my software).
I store all of the "valid" plugins in an array. Whenever I need to send a command to a plugin then I simply loop through my "valid" plugin array and send the command to each plugin by calling the "Juke_Command" routine in the plugin.
Hope this helps some ...... "headkaze" wrote most of the VB6 class module logic which I am using since I had no experience with plugins before implementing all of this JPS stuff. He is the main guy who might be able to explain the lower level detail stuff if you have more specific questions. Basically, "headkaze" figured out how a VB6 application can send stuff to a plugin DLL file and how the plugin could return stuff back to the jukebox application when desired.
I just kind of followed what headkaze wrote and that helped a lot.
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #325 on: March 06, 2008, 01:35:05 AM » |
|
OK, a couple of hours of fiddling around and I now have the basic Delphi host code running. It finds all the JPS dll's in the App/Plugins directory and generates the list. It also sends a Juke_Initialize command to each plugin at startup and a Juke_Shutdown to each plugin when it terminates. So far, so good!
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #326 on: March 06, 2008, 03:00:08 AM » |
|
OK, a couple of hours of fiddling around and I now have the basic Delphi host code running. It finds all the JPS dll's in the App/Plugins directory and generates the list. It also sends a Juke_Initialize command to each plugin at startup and a Juke_Shutdown to each plugin when it terminates. So far, so good!
Cool, It would be cool to post a simpleexample of a Delphi Host to add to the SDK if you could post one.
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #327 on: March 06, 2008, 04:55:16 AM » |
|
No problem. I'll post a host example when I'm sure it's working the way it should. Today was a big learning curve but I'm glad I stuck at it. 
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #328 on: March 06, 2008, 06:32:50 AM » |
|
personly you should use linked list, not array, so you dosent have a limit on number of plugins. Otherwice set a limit to 32 or something like that.
Otherwice I use BlitzMax for my jukebox app, and Pure Basic for the dll examples.
When you release your jukebox application, let us known, so we can add your application on the homepage.
welcome onboard.
|
|
|
|
|
Logged
|
|
|
|
unclet
Trade Count:
( +2)
Full Member
 
Offline
Posts: 3321
Video/audio jukebox with tons of features
|
 |
« Reply #329 on: March 06, 2008, 07:02:38 AM » |
|
I meant to tell you that my jukebox software allows each plugin to be "Enabled" or not via the "Plugin menu" page. Basically, on the plugin page my application lists all of the plugins found by their name, author, description ,etc... and then allows the user to check which plugins they want to be enabled. This allows the user to keep different versions of plugins in the "plugin" directory without having the software try to use them all. When the user highlights a plugin from my list then they can also press a "Configure" button to configure the plugin. Actually, when this button is pressed then my software simply calls the "Juke_Configure" function of that plugin. The plugin itself will display a pop up window with all the configuration options it allows.
Good luck
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #330 on: March 06, 2008, 07:17:51 AM » |
|
Space Fractal:I've coded it with classes & lists, not arrays so there's no real limit. Aussie Juke (my program) was released a couple of weeks ago: Aussie Juke pageunclet:Good idea for the enable option. I'll add it to the Plugin class now. I've added all the basic functions to my app now but will have use the event logger to check them. Got so much done today! Next on the list will be a configuration window I guess.
|
|
|
|
« Last Edit: March 06, 2008, 07:22:28 AM by David_AVD »
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #331 on: March 06, 2008, 08:47:03 AM » |
|
I have just added your software to http://wiki.arcadecontrols.com/wiki/Aussie_Juke, but please correct the info about your application and add a screenshot (I can done that for you). If you are not sure how to update the wiki, let me known, then I update it. Even your app can show coverarts from albums, I have threated your software as singles, since your GUI look like it was suited for Singles. The only problem I actuelly found is the coverart is show in very low resolution on my high resoulution screen. Why not rescale it to the resolution used?
|
|
|
|
« Last Edit: March 06, 2008, 08:50:15 AM by Space Fractal »
|
Logged
|
|
|
|
unclet
Trade Count:
( +2)
Full Member
 
Offline
Posts: 3321
Video/audio jukebox with tons of features
|
 |
« Reply #332 on: March 06, 2008, 11:22:48 AM » |
|
Any chance of putting a few screen shots of you jukebox application on your site?
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #333 on: March 06, 2008, 04:28:43 PM » |
|
Yes, it's singles format only at the moment. Still working on the albums part.
With the cover art, I'm just using an image control with the stretch mode on. Maybe it's to do with the way I'm scaling the whole form?
I'll have to add those screen shots. It's on the list - honest! The real reason is that the GUI is still in a state of flux at the moment. I find that one of the more difficult things to get looking right.
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #334 on: March 07, 2008, 05:02:41 AM » |
|
Just uploaded version 1.6.0.0 which has support for a lot of the JPS functions. I tested it with loadman's event logger. About the only major thing missing in my JPS implementation if the configure command. That's simply because I don't have a configuration window for the GIU yet.
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #335 on: March 07, 2008, 05:11:20 AM » |
|
You need to doing something to add the configure command, elsewice the plugins can't been configure by the user, like the sound plugin I have in the SDK.
I have same problem in MultiJuke, so I dedicated to just hide the main window, and then create a another config window just for configure plugin JST. I could nothing do other thing....
You could even create a new exe for config plugins if you need that.
I think you should do for the same.
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #336 on: March 07, 2008, 05:14:18 AM » |
|
simply because I don't have a configuration window for the GIU yet.
But isn't the Plug-in the bit that creates the Configure window (for the Plug-in) and the Jukebox just calls it?
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #337 on: March 07, 2008, 05:19:30 AM » |
|
Sorry, should have made that clearer. My app doesn't have anywhere to show the button that you need to press to call up the plugin window. Make sense?
I could map it to a hot key, but if there's more than one plugin, how would you specify the one you want to configure? As unclet said, I need a way of viewing the various plugins and individually enabling / disabling them, as well as sending them a config command.
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #338 on: March 07, 2008, 05:27:14 AM » |
|
Sorrry for being dumb  Here is a screen shot of UncleT's Plug-in configure window
|
|
|
|
|
David_AVD
|
 |
« Reply #339 on: March 07, 2008, 06:06:18 AM » |
|
Thanks. I'll look at doing some more on this over the weekend. Almost all of the host plugin code is in one Delphi class. It worked out rather nicely even if I do say so myself. 
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #340 on: March 07, 2008, 11:30:03 AM » |
|
Either you can create a standalone application to the config (which could been included in the SDK as well) or as you wrote, use a speciel hot key for that... Then it can bring up the config window for JST.
In MultiJuke I dedicated to look some thing like that in the screenshot. Since I disabled the pulldown, where you select your plugins, is just because I only have one plugin installed when I created that screenshot.....
If you want to design your diffecent, fell free to do.
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #341 on: March 07, 2008, 04:44:39 PM » |
|
I'm now a fan of having the configure for Plug-in within the app.
MaLa does not have that yet. You currently have to make a stand alone .exe for configure
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #342 on: March 07, 2008, 06:48:42 PM » |
|
Gee, and I just wrote one!I've also integrated it into Aussie Juke and it seems to work nicely. Thanks for your help guys. When I've finished testing the Delphi host code, who shall I send it to for inclusion in the SDK?
|
|
|
|
« Last Edit: March 07, 2008, 08:19:31 PM by David_AVD »
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #343 on: March 07, 2008, 08:35:43 PM » |
|
Gee, and I just wrote one!I've also integrated it into Aussie Juke and it seems to work nicely. Thanks for your help guys. Looks and feels nice Thanks that works well. It also highlights my coding error in my plug-in not finding the logfile saved from that last use . I will fix that I noticed that your config does not have an enable checkbox......yet As UncleT said that is very useful. http://forum.arcadecontrols.com/index.php?topic=75083.msg807733#msg807733When testing and using multi versions it is handy to be able to enable and disable plug-ins on the fly. But up to you really When I've finished testing the Delphi host code, who shall I send it to for inclusion in the SDK? You can send to Headkaze or just post it here (zipped) for him to collect. I will PM him now so he knows to expect it
|
|
|
|
« Last Edit: March 07, 2008, 09:04:36 PM by loadman »
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #344 on: March 07, 2008, 08:54:14 PM » |
|
The config is really nice. Even it based on a external file, the plugins still see it as it was included in the jukebox application.
Nice job.
I do found a really small minor error, since the window width is about few pixels to small in the default Vista skin. Please large it by about 10 pixels. The height seen to been fine.
Then please update the wiki about your application (that link I gave for some posts ago).
(This post is edited a bit to sync for the loadman post, that came before me)
|
|
|
|
« Last Edit: March 07, 2008, 08:57:48 PM by Space Fractal »
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #345 on: March 07, 2008, 09:05:58 PM » |
|
loadman: The version built into Aussie Juke does have the enable check boxes. I didn't see any need for them in the external tool as all it does it is activate the config function on the selected plugin.
Space Fractal: I'll check out the size issue. Can you post a screenshot of the effect you're seeing please?
With regard to the wiki page. it says I don't have a valid username. Do I need to sign up for that section separately?
|
|
|
|
« Last Edit: March 07, 2008, 09:43:03 PM by David_AVD »
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #346 on: March 07, 2008, 10:01:02 PM » |
|
With regard to the wiki page. it says I don't have a valid username. Do I need to sign up for that section separately?
Just use your BYOAC forum login and password
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #347 on: March 08, 2008, 02:23:03 AM » |
|
Nope. Still won't log me in. Who knows. 
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #348 on: March 08, 2008, 03:27:14 AM » |
|
Nope. Still won't log me in. Who knows.  Ahh You may be screwed because you have an underscore in your name. I seem to recal another user had an issue once Post something in the Wiki Discussion for help
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #349 on: March 08, 2008, 04:21:33 AM » |
|
I've updated the host tool and also made an event viewer. They can be found here.There's nothing wrong with what you guys have made. I just wanted to write one to prove the plugin dll code I wrote.
|
|
|
|
« Last Edit: March 08, 2008, 04:23:31 AM by David_AVD »
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #350 on: March 08, 2008, 04:36:37 AM » |
|
Nope. Still won't log me in. Who knows.  Ahh You may be screwed because you have an underscore in your name. I seem to recal another user had an issue once Post something in the Wiki Discussion for help All too hard. Tried all the suggestions. No luck. Maybe I should just delete my account.
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #351 on: March 08, 2008, 04:59:55 AM » |
|
I've updated the host tool and also made an event viewer. They can be found here.There's nothing wrong with what you guys have made. I just wanted to write one to prove the plugin dll code I wrote. Nice work :-) Cool, You probably want to start a new thread about new plugins rather than thsi SDK one. Minor point. Your app only seems to fire commands to the highlighted plug-in rather than all of them I assume that's not how your Juke will handle plug-ins
|
|
|
|
|
Logged
|
|
|
|
|
David_AVD
|
 |
« Reply #352 on: March 08, 2008, 05:05:29 AM » |
|
Minor point. Your app only seems to fire commands to the highlighted plug-in rather than all of them I assume that's not how your Juke will handle plug-ins
Yes, that's so you can test them one at a time. The juke app does them all at once. (you can disable them too)
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #353 on: March 08, 2008, 05:12:00 AM » |
|
Minor point. Your app only seems to fire commands to the highlighted plug-in rather than all of them I assume that's not how your Juke will handle plug-ins
Yes, that's so you can test them one at a time. The juke app does them all at once. (you can disable them too) Well Done. :-) You are all over this  I hope to see future posts in this section of the forum about future releases.
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #354 on: March 08, 2008, 11:58:29 AM » |
|
you could ask saint to remove the underscore and replace it with space, so it works with wiki too. Otherwice just let us known here, and one of use would update the wiki. I add your software very soon to jukeplugsys.com (if LoadMan not allready have done that, not checked out). Here is the screenshot of the problem. If you wish, you can start a new tread about releases of your software, so we can seperate this thread to JST and your software. I have just added your software on this link: http://www.jukeplugsys.com/?page_id=7Your link is a bit to long. I which http://www.audiovisualdevices.com.au/software/aussiejuke worked, but it wont. You might can add a index.php which just include the aussiejuke.php file.
|
|
|
« Last Edit: March 08, 2008, 12:23:56 PM by Space Fractal »
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #355 on: March 09, 2008, 04:18:38 AM » |
|
Hey, I just noticed this thread got stickyed, even I have not asked about this  . So I changed the topic to been more clear (removed version number and removed the DONE message, which is not needed any more). I also added the link to more information about this project. Also I have added a note about " char with one of the plugin_event command, and is why I updated to v1.04. I know UncleT didden't like that char in that command, even it stated in the document. MultiJuke does not care about that char, since it just removed it before parsing.
|
|
|
|
|
Logged
|
|
|
|
loadman
Wiki Contributor
Trade Count:
( +3)
Full Member
 
Offline
Posts: 3347
Cocktail Cab. Jukebox is still a W.I.P.
|
 |
« Reply #356 on: March 09, 2008, 05:15:32 AM » |
|
Hey, I just noticed this thread got stickyed, even I have not asked about this  . So I changed the topic to been more clear (removed version number and removed the DONE message, which is not needed any more). I also added the link to more information about this project. Also I have added a note about " char with one of the plugin_event command, and is why I updated to v1.04. I know UncleT didden't like that char in that command, even it stated in the document. MultiJuke does not care about that char, since it just removed it before parsing. Yeah I asked for this to be sticky  Nice Work SpaceFractual !!!
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #357 on: March 21, 2008, 04:50:53 AM » |
|
Loadman: I guess you should spell my name correct.... (I noticed in the post, but diddent bother write about it before now).
A idea to a addation to the SDK:
- I would like the possible to pass the filename to all command that need that (JUKE_SONGLIST_ADD_SONG, JUKE_SONG_START etc) as the last argument. This mean it would not break the combatible on that change, even the software dosen't pass that file or not. In that way I can use it to find coverart in a Webstat plugin im Planning.
I hear about this idea before I add this argument.
|
|
|
|
|
Logged
|
|
|
|
AussieJuke
Trade Count:
( 0)
Full Member
 
Offline
Posts: 71
|
 |
« Reply #358 on: March 21, 2008, 05:00:16 AM » |
|
Sounds like a good idea to me. It would open up more possibilities for plugins.
|
|
|
|
|
Logged
|
|
|
|
Space Fractal
Wiki Master
Trade Count:
( +1)
Full Member
   
Offline
Posts: 1751
Space Fractal
|
 |
« Reply #359 on: March 21, 2008, 05:09:21 AM » |
|
I PM Uncle'T about this. Since the document is mostly made by me and uncle'T. He should agree first.
The filename addations about first addations to SDK could been great for a song preview for the songs that just have been added to the queue.
but the preview idea would not been possible if no songs is in queue and no songs is played, but that feature should been aksed directly to the author instead).
This idea came from the other thread about Idea:. WaitTimeInMS=Juke_Command("JUKE_SONG_FINISH","") A song is played finish and it wait this number of MS, before it start the next song.
This mean a Sound FX, ads or other can been played before the next song from a plugin.
|
|
|
|
« Last Edit: March 21, 2008, 05:20:58 AM by Space Fractal »
|
Logged
|
|
|
|
|