From f441c1c8956789d7ea0e82cd4e4f41efd97442df Mon Sep 17 00:00:00 2001 From: Ian Webster Date: Mon, 9 Oct 2023 00:10:00 -0400 Subject: [PATCH] Revert "Revert "Rough fix for parameters. Very slow"" This reverts commit 9ed1f39ada10456d3a5ad904a28d129593d79fd3. --- live/classes/set.py | 57 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/live/classes/set.py b/live/classes/set.py index bcfdc8b..15d4c7b 100644 --- a/live/classes/set.py +++ b/live/classes/set.py @@ -3,8 +3,6 @@ import os import math import glob -import platform -import tempfile import time import pickle import logging @@ -202,6 +200,59 @@ def scan(self, scan_scenes: bool = False, scan_device: bool = False, scan_clip_n device_name = rv[rv_index] rv_index += 1 device = Device(track, device_index, device_name) + + rv_num_params = self.live.query("/live/device/get/num_parameters", + (track_index, device_index)) + + # print(f"{rv_num_params}: NUM PARAMS for track {track_index}'s device {device_index}") + + rv_param_names = self.live.query("/live/device/get/parameters/name", + (track_index, device_index)) + + # print(f"{rv_param_names}: PARAM VALUES for track {track_index}'s device {device_index}") + + rv_param_values = self.live.query("/live/device/get/parameters/value", + (track_index, device_index)) + + # print(f"{rv_param_values}: PARAM VALUES for track {track_index}'s device {device_index}") + + + rv_param_min = self.live.query("/live/device/get/parameters/min", + (track_index, device_index)) + + # print(f"{rv_param_min}: PARAM VALUES for track {track_index}'s device {device_index}") + + rv_param_max = self.live.query("/live/device/get/parameters/max", + (track_index, device_index)) + + # print(f"{rv_param_max}: PARAM VALUES for track {track_index}'s device {device_index}") + + rv_param_quantized = self.live.query("/live/device/get/parameters/is_quantized", + (track_index, device_index)) + + all_parameters = [] + + for i in range(rv_num_params[2]): # +1 here? shift 6 for track 2 device 1? + all_parameters.append({ + "name": rv_param_names[i+2], # first 2 params are empty??? is this for all devices? + "value": rv_param_values[i], + "min": rv_param_min[i], + "max": rv_param_max[i], + "is_quantized": rv_param_quantized[i] + }) + + # print(list(all_parameters)) + + + # print(f"{rv_param_quantized}: PARAM VALUES for track {track_index}'s device {device_index}") + + device.parameters = [] + for parameter_index, parameter_data in enumerate(all_parameters): + parameter = Parameter(device, parameter_index, parameter_data["name"], parameter_data["value"]) + parameter.min = parameter_data["min"] + parameter.max = parameter_data["max"] + parameter.is_quantized = parameter_data["is_quantized"] + device.parameters.append(parameter) track.devices.append(device) self.scanned = True @@ -214,7 +265,7 @@ def scan_import(self): self.groups = [] import json - with open(os.path.join(tempfile.gettempdir(), "abletonosc-song-structure.json"), "r") as fd: + with open("/tmp/abletonosc-song-structure.json", "r") as fd: data = json.load(fd) tracks = data["tracks"] for track_data in tracks: