Announcement

Collapse
No announcement yet.

Assigning TouchOSC Labels based on Channel Name that Fader is Mapped to

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Assigning TouchOSC Labels based on Channel Name that Fader is Mapped to

    Hello! First off I wanna say I'm not the most confident using Osculator yet, but I understand the basics enough to navigate it and use it. I'm using TouchOSC with Ableton Live and LiveOSC2 (https://github.com/stufisher/LiveOSC2). I was trying to use this previous thread (https://osculator.net/forum/threads/...es-Please-Help) as a guide to figure out my problem, but I don't know if this way entirely applicable to what I'm trying to do.

    Essentially I use the Utility rack on each channel in Ableton for volume instead of the main volume fader. I'm trying to achieve where when I map fader1 (for example), the label in touchOSC above it will display the name of the channel the Utility is on so I always know which channel the mapping is routed to. Is this possible?

    If not, what would be the easiest way then to populate the labels with the proper channels in ableton. I was able to get the channel title to display in a label, but only if I physically retyped the label name. I could not figure out how to automatically do it, or push the title to the label.

    Any clarification on my end please don't hesitate to ask, and any files such as the template I'm using, etc I can send over!

    Thank you so much!

  • #2
    Hi Technoir,

    By reading LiveOSC2 documentation, I understand that you can get the track name by sending an OSC message whose address is /live/track/name with a single integer id, which is the track id. You will in response receive a message at the same address with the track id as the first argument and the track name as the second argument. I understand you want to display several faders, each with a different OSC address /1/fader1, /1/fader2, ..., and so on for their respective labels.

    I am not sure to understand exactly how LiveOSC2 refreshes the current state, so you might need a button to send the message /live/track/name with the required track id as many times as you have tracks on your layout. Use Duplicate to send multiple OSC messages at once.

    Once you have received the /live/track/name message, you have to map it to your track labels.

    The first solution is a bit tedious but helps understanding what happens. Select the first argument and choose Edit -> Demux. Upon receiving the same message again, OSCulator will display sub-message whose address is the track id, and their argument is the track name as a string. Then, it is simply a matter of sending those strings to their respective labels.

    You don't even need to demux the message, here's a second solution that is more clever by constructing the OSC address dynamically; for that you have to choose your labels addressing properly:
    • Let's say your labels are named /1/track-name-<id> where <id> is the track id in Live
    • Create a new OSC Routing with the OSC address /1/track-name-<arg0>
    • <arg0> will be replaced with the first argument (when you count from 0), which is the track id.
    • In the argument list, remove <all args>, and replace by arg[1] (the second argument when you count from 0)
    • Assign this OSC message to the received /live/track/name message.


    Let me know what you next questions are, I'm sure I have not covered everything.

    Best,
    Cam

    Comment


    • #3
      So when you say "Let's say your labels are named /1/track-name-<id> where <id> is the track id in Live" you're referring the label name within the TouchOSC template? How would I separate them so the OSC tags are different so the routing isn't mixed up?

      I understand the last part of your message about constructing the OSC addresses dynamically, but am confused about putting these into practice. When you say "Assign this OSC message to the received /live/track/name message" I'm not clear as to where I'm routing this back from?

      Also I'm not quite clear on how to make the button that refreshes the label names that also triggers the /live/track/name function.

      Also would LiveOSC2 be the best way to achieve this kind of template, or would there be a better, more efficient solution?

      Thank you so much for your assistance.

      Comment


      • #4
        Also the mapping would ideally be dynamic, where it would be able to read which channel the fader is mapped to already and properly route it without having to go through each label in Osculator and manually route it. I use would be using this for mixing many channels together so it would have to be dynamic in that Fader 1 wouldn't necessarily be channel 1, it could be mapped to channel 5, but still pull the proper label name. If that makes sense.

        Comment


        • #5
          It was not clear wether you needed a control surface style of track grouping.

          Unlike OSCulator Plugin for Logic Pro, LiveOSC2 does not provides you with this grouping layer.

          To accomplish what you are looking for, you need a program to synchronize the state of you controler device (TouchOSC), and Live (via LiveOSC2). OSCulator can't help you with that because it has only basic programming logic; you need this logic to exist either in the controller device or the controlled software.

          Comment


          • #6
            That makes sense! I know livecontrol did it, but it was so buggy that it wasn't useful. Also I need a specific feature set and not full control of Ableton so it was more than I needed. Do you know if any sort of software would exist that accomplishes this? Or is the feature set simply not possible yet?

            Comment


            • #7
              I'm sorry... I don't know any software that would do this.
              Maybe a clever programming of Lemur, but that would require a lot of work i believe.

              Comment

              Working...
              X