Distinction between createTrackBank and createSiblingsTrackBank

Post Reply New Topic
RELATED
PRODUCTS

Post

What is the difference between these two? The documentation says to "see the pattern" but come on. they barely show the pattern in the first place.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

More like "see the pattern while reading code of someone else who saw the pattern and also doing ad-hoc experiments a lot". That's pretty much the way I've been able to figure it out so far. Very curious how they saw it.

On one hand it's great to have the API, on the other some of it is quite odd. Like, why couldn't all the *ValueChangedCallbacks have extended the same generic interface. I know, unhelpful rant.

Post

minortom wrote: Fri Jul 09, 2021 10:24 pm More like "see the pattern while reading code of someone else who saw the pattern and also doing ad-hoc experiments a lot". That's pretty much the way I've been able to figure it out so far. Very curious how they saw it.

On one hand it's great to have the API, on the other some of it is quite odd. Like, why couldn't all the *ValueChangedCallbacks have extended the same generic interface. I know, unhelpful rant.
100%. i would really just love to implement my own "bank" and just have access to the entire project in a nested array list or nested key value pair. I swear some of these things are so inconsistent. If we had that we could implement our own concept of cursor tracks.

so minortom do you have any idea the difference between these two?
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Tell me about it.

There is kind of a way to access the whole project: just create another trackbank big enough to fit all the tracks in the project (I do 64 tracks in my extension, should be enough for everyone), then you can always access them all through that. That's one cool thing about banks, you can create several. The one caveat is you CANNOT see what's not on the screen. Like, if you fold a group track, those tracks will just not be available in any bank. One workaround is to just never fold anything you need to access.

What also drove me crazy is the inability to know when a track changed positions, I built a hack for that by highjacking the low byte of the track color's alpha value and now I at least know where all my track are even if they're intermittently hidden or moved around. If you're curious: https://github.com/unthingable/monster- ... cker.scala (the bank I'm passing in is that 64-track superbank).
Kirkwood West wrote: Fri Jul 09, 2021 10:42 pm so minortom do you have any idea the difference between these two?
I don't know but if I had to guess I'd say it's a bank that can't scroll past its siblings. Like, if it's a group track, it will only scroll within that group.

Post

Ha, I feel dumb now after re-reading that code: could have probably just added an observer to track's .position().

[UPD] Nope, the observer does not get called when the track switches places with another, only when adding/removing tracks — and that's in 4.0b6. In 3.3.8 it does not get called at all. Feels like a bug report is due, but at least now I think I must have tried the callback route already and then forgotten.

Post

minortom wrote: Fri Jul 09, 2021 11:13 pm Ha, I feel dumb now after re-reading that code: could have probably just added an observer to track's .position().

[UPD] Nope, the observer does not get called when the track switches places with another, only when adding/removing tracks — and that's in 4.0b6. In 3.3.8 it does not get called at all. Feels like a bug report is due, but at least now I think I must have tried the callback route already and then forgotten.
please report. :)

i did observe the following in regards to siblingtrackbank and trackbank.

siblingtrackbank is items on the same level as the object its created from and trackbank is on a level beneath.

still like you said with needing to unfold for the object to work… super frustrating. there should be bo difference of the object regardless of how it’s displayed in the editor. why does my controller have to match the same view as the editor?! should be possible to have different views into the system imo. thats the point of a controller.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Kirkwood West wrote: Sun Jul 11, 2021 4:34 pmWhy does my controller have to match the same view as the editor?! should be possible to have different views into the system imo. thats the point of a controller.
Absolutely, that is a design flaw of the API… Send that question to support. There should be a way to address anything absolute…

Post Reply

Return to “Controller Scripting”