PDA

View Full Version : DRag and drop tracks in the Now Playing list



avid
May 14th, 2005, 11:46 PM
I'm afraid I have yet another suggestion for a MediaBridge plug-in enhancement. But at least this time it comes with working code :D .

In my migration from WMP Server to JRMC, one feature I miss is the ability to easily re-order the Now Playing list. In order to make it easy for Ben to consider adding this to his MB plug-in, I have packaged up a little demo of how it could look. The code for drag-and-drop support is almost totally self-conatined and could probably be "dropped in" to the existing MB driver with little difficulty. ("Famous last words"?).

If you try the demo plug-in and CCF, it presents a list that you can re-order with the mouse. The ergonomics of this have been honed by real use in my WMP plug-in.
- Drag an item up out of the list box it move it to the beginning.
- Drag an item down out of the list box it move it to the end.
- Drag an item sideways out of the list box to delete it.
- Drag an item within the list box to move it to a new position.
- Drag an item up or down out of the list box - and hold - to scroll the list for repositioning.
- The driver detects after 5 seconds of no activity (e.g. to ensure that the playing track again becomes visible on-screen)

This does rely on the underlying player providing some COM API for re-ordering its Now Playing tracks. This is certainly true of JRMC and WMP. I don't know about WinAmp and iTunes.

What do people think? Ben?

Brian

sapnho
May 16th, 2005, 07:36 AM
Great. A must have Ben! :wink:

marketability
May 16th, 2005, 10:44 PM
sweet! when can I have it!! :-) :D

Ben S
May 17th, 2005, 05:29 PM
Avid - sounds great, and I like the idea. Unfortunately we have a need to get the current version of MB 2 and NetRemote out into the public's hands. We'd like to then focus on getting the next version of the designer out before turning to enhancements like this.

Does that work for you? This requires support both in MediaBridge (for changing positions of playing now) and (as you mention) the change to the MediaBridge plugin in NetRemote.

Thanks for the cool sample!

avid
May 17th, 2005, 10:41 PM
Unfortunately we have a need to get the current version of MB 2 and NetRemote out into the public's hands. We'd like to then focus on getting the next version of the designer out before turning to enhancements like this.

.... Does that work for you? !
That was what I assumed. I know I've thrown a few ideas at you the last couple of weeks, but they were all intended as things to be considered for the future.

If it was up to me to state what order thinngs were done, I would say:
1) MB2 released as is (subject to fixing serious bugs)
2) Designer released (at least to public beta - possibly full release)
3) MB2.1 with enhancements.

And (for the record) the enhancements I personally would like to see in MB2.1 are (in no particular order):
A) Remove "All"
B) Drag-and-drop track re-ordering
C) MP.ViewScheme variable to change library root within a single instance
D) MP.Selected.* variables, set when a track is selected on any list.
E) Directory browsing (as richly specified earlier)
F) Discrete actions for everything that is in the context menu (if not already possible - e.g. refresh library)
G) LUA-specified context menus for directory, lists and tree.

Maybe that's a bit much in one release :D

Brian

mhwlng
May 17th, 2005, 11:19 PM
Hey Brian,

I see you made a nice request list for NR 2.1,
I'll abuse your thread to add my humble list :D :

* Most useful : Make STATE frames, defined in mastertemplate/devicetemplate, 'always on top'

* Allow drawing of button images from a plugin at a certain x,y offset within a button rectangle (Needs the capability to have a larger button size than the embedded images. The current designers always resize the button to the image size)

* Allow some sort of synchronous GACSchemes/GAISchemes or keep it asynchronous and add some notification when the GACschemes have been completely filled.

* Add user defined fields to GACScheme results and the possibility to change this field list from lua code. (So GAISchemes would no longer be needed)

* Allow GACSchemes to return a lua table or return data in a single delimited string that can be disected in lua/javascript :
i.e. this javascript gives me an array of strings :
myString = new String("A~A2~A3@B~B2~B3@C~C2~C3@D~D2~D3")
splitString = myString.split("@")
...
splitString[0].split("~")

* See above, add split function to NetRemote (already exists in Girder 3 : LUA_Parse( pld2,tab,",") )


* Use Asynchronous Pluggable Protocol (APP) handlers to allow NR image variables to be used directly in the embedded web browser :

nrimg://variablename.



Marcel

Rob H
May 17th, 2005, 11:46 PM
* Most useful : Make STATE frames, defined in mastertemplate/devicetemplate, 'always on top'
Definitely seconded. Better still, proper support for layers, but that will obviously require a new CCF format.