[ANSWERED] Dynamically Change Bin Picker Bin
-
I am hoping to be able to dynamically control the bin picker. In my project, I am using the Streamdeck XL. I have 4 possible tracks of video, and each track has a possible 9 pages of 16 clip triggers. Each page is separated into two banks of a possible 8 clips per bank. Each bin will contain a maximum of 8 clips.
I would like to be able to display the bin and thumbnails for the selected track/page in the controller.
Is there a way I can do this? I have tried allowing all video bins in the bin picker and sending a media index to it, but it does not change change bins based on the media index. There is nothing evident in the interface, manual and Chat GPT just gives me garbage about this.The only workaround think I can think of would be to have separate control pages that are triggerable? Is this possible?
Perhaps this is a feature request? A checkbox in the bin picker to change the bin based on the media index or a way of sending bin numbers to the bin picker?
I would appreciate an input you might have.(in the image below you can see a simple sample layout showing the thumbnails for Track 1, Page 2, Banks 1 and 2.)
-
Streamdeck Midi plugin for the win. I can load thumbs onto the buttons and call them using a script in the excellent midi plugin (https://trevligaspel.se/stream...). I'll figure out a way of automating thumbnails from the media folders. It's a bit of a kludge, but I think I can get it working.
-
@jtsteph said:
Is there a way I can do this?
As far as I know it is not possible to:
- Programmatically change what bin is selected in a Bin Picker Control in Isadora
- Push a thumbnail of the video to the Streamdeck from Isadora
Though you could push file names to the Streamdeck using Get Media File Name (accepts index and outputs file name) Inside Range actors (you could use these to build yourself a way to automatically translate the media index coming from the Bin Picker into the Page and Clip(?) values required by the Streamdeck). Maybe this is helpful, maybe not.
control-panel-bin-picker-media-index-to-bin-and-item-number-2024-01-30-3.2.6.zip
I also started working on a JavaScript User Actor out of curiosity, but it's not quite done. (The clipIndex output seems to be broken by my check for illegal values.)
P.S. In the current beta you can show and hide Controls programmatically, so you could have a Bin Picker Control per bin with "Show Values of Linked Properties" checked for each bin and then show/hide the right ones based on media index logic.
-
Oh cool, @woland. I can't wait to take a look at this. I've been using a combination of calculators and javascript to do all of these calculations. It's nice to see it all in one spot.
I spent the day doing batch scripts with the help of Chat GPT and Superuser to:
1) Create my folder structure (T#_P#_B# for Track, page, bank) - 72 folders (4 tracks, 9 pages, 2 banks)
2) Rename each of the clips (maximum 8 per bank) in a folder based on the folder name and an index (T#_P#_B#_C# for Track, Page, Bank, Clip),
3) extract thumbnails from the middle point of the clip with FFmpeg and put them all into one folder.
I have assigned windows environmental variables to the video folder and the thumbnails folder which i can easily replicate on another machine with a new path. This way I can program the Streamdeck thumbnail file calls once using the environmental variables, and then always refer back to these folders and the filenames. If I update the files in the folders, I just run the "renamer" and "thumbnailer" batch scripts, rebuild the media from the folder in Isadora, restart the Streamdecks and everything updates! It's a thing of beauty and VERY flexible, which is really my goal in all of this. With the "folder builder" batch script, I could start the media structure for a new project in a matter of seconds.
I think that using thumbs on the streamdeck buttons is a good way of working as I will be able to have the clips displayed right on the Streamdeck, which in the heat of a show, will be helpful.
Not the kludge I thought it would be.
I really appreciate you taking a run at the media/bin calculator Javacript. I'll dig into this tomorrow.
-
@woland said:
I also started working on a JavaScript User Actor out of curiosity, but it's not quite done. (The clipIndex output seems to be broken by my check for illegal values.)
Fixed it
-
@woland, this is a thing of beauty and will be highly useful. I am working with absolute page numbers on the Streamdeck, so I tried modifying the javascript to incorporate the a custom starting page (Currently Media is on pages 2-10, page 1 is reserved for Streamdeck navigation and persistent show toggles).
I am now doing this as a simple calculator in the user actor. It was easier to do it this way with my limited javascript skills. I am afraid I sullied your beautiful patching. I'll clean it up, I promise:Everything lines up perfectly with the T#_P#_B#_C# in the bin.
Thanks for your help with this. I like your all-in-one approach. It will make everything easier to work with.
-
Couldn't let it go.
Rather than tinker with the logic in the Javascript, I added a simple calculation to offset the input and output using the a new variable pageStart.//Calculate pageSelect based on pageStart
pageSelect = (pageSelect-pageStart)+1;
and
var mediaIndexToPage = (Math.floor(((mediaIndex - 1) % clipsPerTrack) / clipsPerPage)+1) + (pageStart-1) ;
Randomly selecting T03_P05_B01_C05
Less mess, more fun. Beauty. This is going to be particularly helpful when it comes time to build logic for cycling or shuffling clips in banks.
-
@jtsteph said:
This is going to be particularly helpful when it comes time to build logic for cycling or shuffling clips in banks.
Yay! I love being helpful :)