User interface object for 're-arrange order' (drag / drop?)
So I have a bunch of items that I'd like to be able to rearrange without lots of fiddling around. Closest metaphor I can think if is like a playlist in iTunes - if I drag a track to the start all the others shift forwards in the list.
Is there a UI object for this in Max? Or some other simple way of doing this? I've done a search on drag-drop but haven't found anything that looks very useful so far!
Many thanks
Bump!
Can anyone help?
[playlist~] ?
Sorry not sure what you mean - can't find an object called 'playlist' .. ><
Max 7 has it.
Damn... stuck with Max 6 in Ableton right now. Any other element that might be repurposed?
Not a standard one that I know of. Perhaps a 3rd party external somewhere.
Downer. Can anyone advise on a simple way to use drag-drop in Max?
Drag and drop implies loading an audio file using dropfile, at least it does to me. I think I know what you mean though, and AFAIK there isn't a simple way to do this. You could use a combination of mousestate/thispatcher/scripting to respond to clicking and dragging, but it's not the simplest task.
no simple way. but [lcd] with its mouse / mouse idle / key up key down output works very well for things like that.
you should also consider using clickable buttons before the item´s names for "move up" instead of dragging.
Thanks Roman - that's a great idea. Has anyone seen a similar device with up / down re-ordering buttons? It's well beyond me at my current level of understanding Max.
Well, it can be done in Max but it's not very straightforward or elegant... here is one example of a two-dimensional reordering space that I've built using buttons. It might give you some ideas or, more probably, discourage you from doing it... ;-)
Use it in Presentation mode!
Brilliant, thanks Pedro I'll give this a look.
It's the other way around. You move the buttons in the top left and the cell grid gets updated with their positions.
@pedro pretty low level gui programming... impressive!
Thanks, AK! I've built that a while ago out of stubbornness more than anything else, but it really isn't practical or elegant (the code, I mean)...
I've said this before: I think Max should have a more elegant/intuitive way of defining the order of a certain structure, like an effects chain, for example. Ultimately, a similar but simpler way of patching. I would love to be able to interconnect big structures like patchers, bpatchers, vizzie and bleap modules in a locked presentation mode.
The playlist in Max7 is a step in the right direction but it's very specific...
one very important trick is to divide up the problem/job into the GUI part and the actual mechanics which reorders the list.
first built one of these two parts, then the other, then find out how they can be connected to each other.
if i had to write this button based thing now, i would do it all in LCD, because i dont know way other object where displaying text is so easy. only in LCD you you always have control over the altitude position in pixels.
please also look in the helpfile of [coll], which can serve as container for your items list - and supports "insert" and "delete", which can be abused for exchanging the positions 5 and 7 as well.
Wow - got it working! Seems really cool, thanks!
How could I extend it to have more columns?