Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
randi
Posts: 41
Joined: Thu Apr 03, 2014 4:03 am

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by randi » Tue Mar 09, 2021 12:08 am

The Rabbits wrote:
Sat Feb 27, 2021 12:46 pm

Collapse and expand group tracks and move to the next and previous groups. Navigate through device chains with expansion of racks and moving through their chains. Enable and disable devices. Control all sends on tracks and mute/solo returns. Do all this in Arrangement view.......
Did you find out how to do collapsing and unfolding of group tracks? I couldn't find any reference in the LOM, but maybe was searching with the wrong terms.
I am currently also unable to access grouped device parameters :? :lol:

The Rabbits
Posts: 69
Joined: Tue Apr 07, 2020 2:23 pm

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by The Rabbits » Tue Mar 09, 2021 2:11 am

This is my code.

if track.is_foldable:
track.fold_state = not track.fold_state
else:
track.view.is_collapsed = not track.view.is_collapsed

fold_state refers to groups .is_foldable is true for Groups.
.is_collapsed refers to tracks that are collapsed in Arrangement view.

I combined the two because it means one less pad used and the two are never both true.

I'm pretty sure I didn't have to do anything different to get devices for group tracks, but I'm in the middle of rearranging my code and it's not quite behaving right now. I'll try and get back to you in the next day or so.

The Rabbits
Posts: 69
Joined: Tue Apr 07, 2020 2:23 pm

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by The Rabbits » Tue Mar 09, 2021 2:18 am

Do you mean devices on group tracks or devices in racks?

If it's racks, this might help. I call this to build a list so I can traverse the entire device list in a sensible order. I spent some time trying to do it without building a list but it gets messy with racks.

Code: Select all

def get_device_list(self, container):
		# add each device in order. if device is a rack, process each chain recursively
		# don't add racks that are not showing devices.
		lst = []
		for dev in container:
			lst.append(dev)
			if dev.can_have_chains:  # is a rack and it's open
				if dev.view.is_showing_chain_devices:
					for ch in dev.chains:
						lst += self.get_device_list(ch.devices)
		return lst
		


Called this way.
device_list = self.get_device_list(current_track.devices)

randi
Posts: 41
Joined: Thu Apr 03, 2014 4:03 am

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by randi » Tue Mar 09, 2021 9:44 pm

Thank you very much!
As I am a pretty new to dev and python and remote scripting, plus the Mackie C4 script is very messy and doesn't use the frameworks at all, yet, I will need to find a way to a) incorporate your code and b) make a button in one of the 4 modes. I think in channel strip mode would make the most sense.
And I meant both :-) So thank you twice!

randi
Posts: 41
Joined: Thu Apr 03, 2014 4:03 am

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by randi » Thu Apr 08, 2021 8:31 pm

I got it working :-) But tweaked it a bit, to also fold when a track WITHIN a group is selected.

Code: Select all

# group track fold toggle, also groups from within
                if encoder_index == encoder_04_index:
                    track_util.toggle_fold(self.selected_track)
and

Code: Select all

def toggle_fold(track):
    if is_group_track(track):
        track.fold_state = not track.fold_state
        return True
    elif is_grouped(track):
        toggle_fold(track.group_track)
    return False
Thanks very much! :D

subparuser
Posts: 27
Joined: Thu Jan 09, 2020 1:18 pm

Re: Project thread: Building an ultra-portable performance set, and my experience with Remote Scripting in Live 10

Post by subparuser » Sun Apr 11, 2021 12:27 am

Fantastic idea for a thread - this is bloody great!

I'd love to see the Mackie scripts get some love, and I don't know if I'm up to doing it, but if I ever were to give it a go then hopefully this is the place to come for a breadcrumb trail.

Really hoping to see updates and developments here, especially from the point of view of someone starting out - total ELI5 stylee. Because I can be thick as pigsh*t when it comes to this stuff so XXX* instructions are a godsend.

*Extremely Explicit, Eh!


Post Reply