Deep-Symmetry / beat-link-trigger

Trigger events and automate shows in response to events on Pioneer CDJs
Eclipse Public License 2.0
443 stars 37 forks source link

Cue Library Folder Hierarchy #98

Closed life-of-dan closed 4 years ago

life-of-dan commented 4 years ago

I use the cue library extensively for my Beat Link Trigger shows due to me doing my own lighting for all my shows. At the moment to separate which type of cues are for what I write [Temp] or rate change group them with characters that start the same. This can get messy when using more than 20 or so cues.

If possible would you be able to make it so when add a cue to the cue library, you can choose to add it to a specific folder and next to the cue library button there is a "new cue folder" button or something similar.

An alternative suggested by one of the admin in the Gitter chat was to create a search for cues or tags, this could work but I think the folder solution would help a bit more with speed of finding cues as I try to avoid typing while selecting cues as it would be fairly time consuming in the long run.

image

Thanks! Beat Link Trigger is amazing

brunchboy commented 4 years ago

That was me on the channel, thanks for these details. I will have to think about what is possible and practical in terms of data structures as well as user interface. The cues don’t exist in the filesystem, so there isn’t a folder structure readily available to be used, but I can build anything that makes sense. I don’t know when I will have time to investigate this, but I will when I can. We would probably also need some way for you to rearrange all your existing cues without forcing you to recreate them all.

What I am leaning towards is a cue manager window that would let you create folders and move cues around between them. That would address your goal of picking them out of a hierarchical menu without typing. But I probably want another way to filter/find them for people like me who prefer the keyboard to the mouse. (I wrote almost all of Beat Link Trigger in a plain old text editor. 😄)

If you get impatient you could try implementing this yourself, but hopefully I will find time soon, it’s an interesting request, and I appreciate hearing about the way you are using BLT.

life-of-dan commented 4 years ago

Thank you for such a quick reply! A cue manager window would be perfect. I did try to fix this myself and saw how the cues don't exist in a file system, however i'm not that into coding at the moment as I've been more focused in the music industry. I will await your solution to this, don't really mind waiting a while. Thanks heaps 😄

brunchboy commented 4 years ago

I’ve not forgotten this, even though I have been incredibly busy with related projects. Unfortunately, the more I think about it, the more of a pain hierarchy management becomes. There will be a huge amount of code to write to get even a basic tree with drag and drop working. I will have to see if I can find a more limited approach that would be easy enough to tackle, or this might just not happen.

brunchboy commented 4 years ago

I might just fall back to a window where you can filter cues by substring of their name (the way you can with other windows in BLT) to more quickly find the ones you are looking for, and then let you add those to your track.

brunchboy commented 4 years ago

…or, maybe start simple in a different way. Let you create library folders, and when you are adding a cue to the library, give you a hierarchical menu to add to the top level or one of the folders. Initially you might not even be able to nest folders inside each other, even one level would be a big step forward for organization. And rather than giving you a fancy interface to move cues between folders, if you need to move them you could just use the Update Cue in Library menu to assign them to a different folder.

Which raises the important point that I don’t think there is a way to remove a cue from the library today, so someday I may want to bite the bullet and add a library management window anyway.

This basic idea seems doable. I’ll continue to ponder it until I have a chance to try building it. And nested folders could be added on to this approach later.

brunchboy commented 4 years ago

Ok, I am starting with something pretty simple, a single level of folders, and if you want to move a cue that already exists to a different folder you remove it from the library, then re-add it to the right folder. Two steps, but not something that you will need to do terribly often.

@GoldenSeven I just noticed something in your screenshot! The little downward-pointing triangle in the Cue Library menu seems to be missing from the menu font on your system, how ugly. What operating system is that?

life-of-dan commented 4 years ago

@brunchboy thanks for starting to work on it, the single file level will be great for what I'm trying to do. I dont mind deleting the cues from the library and readding them. If you can't get it to work easy enough though, the seperate window for cue management and searching would be alright too.

I didn't even realise the square icon next to the cue library button haha. I use windows 10.

Thanks 😊

brunchboy commented 4 years ago

Thanks, @GoldenSeven I have just pushed an initial implementation of this to GitHub, and it is building there. If all goes well, a Windows installer of a new preview version will be ready for you to try in a few minutes. I have not updated the user guide yet, but the interface is pretty simple. In the Library button there is now a Manage Folders submenu at the bottom, and in that you can find a New Folder option. Once you have folders, they appear as submenus at the top of the library menu, and the Manage Folders submenu adds new submenus to rename or remove your folders.

As I discussed above, unfortunately to move your cues into a folder you will have to remove them from the library and then re-add them. I have updated the user guide (at the bottom of the Cue Context Menu section to explain how to remove a cue, but in summary:

Once the cue has been removed, you are ready to put it into the folder you want. You will find that once folders exist, the Add Cue to Library option is a submenu, in which you can choose which folder you want to place the cue into, or to place it at the top level.

All right, I can see that GitHub Actions has built the Windows Installer. You can find it here. Please let me know if it works for you!

life-of-dan commented 4 years ago

Wow! @brunchboy this is perfect. Just downloaded your release and works perfectly so far on windows. Will be using this feature a lot, Thanks heaps 😄

brunchboy commented 4 years ago

Excellent! Thanks for the confirmation. I will see what I can do about the missing character in the Library button, and update the user guide, later this week.

brunchboy commented 4 years ago

@GoldenSeven if you would not mind trying out the latest copy of the preview release, I believe I have fixed the missing character in the Windows font in the cue library button. Could you check if it works on your system?

life-of-dan commented 4 years ago

@brunchboy All good, just downloaded and tested, the character is now a downward arrow :)

image

brunchboy commented 4 years ago

👍 It’s bigger than I’d like, but the small arrow isn’t available on Windows, and this is better than a “missing glyph” box! Thanks again.