Well well well.  The client example here:

https://pypi.org/project/python-osc/

rewritten to address the volume of my non-mixer setup, works very well indeed.

J.E.B.

On Sat, Feb 5, 2022 at 12:53 PM Jonathan Brickman <jeb@ponderworthy.com> wrote:
Greetings, all.  I'm trying to take another stab at OSC control of non-mixer.  I've tried a few times over years, always using specific methods given on list or various web sites.  I did it again, still no dice.  Perhaps someone might be able to tell what I'm doing wrong.

First of all, the non-mixer setup I'm using is pictured here:

One of its strips is named "DistortionOutput", another "CleanOutput".  The goal is to get outside input somehow (this is a headless design, am currently thinking programmable keypad for maximum simplicity), with two different scripts to spawn, "DistortionMode.py" and "CleanMode.py".  

My latest attempt, was to run non-mixer with the appropriate command line option for the port, and then once running, to run the script below.  It was thought that it would turn the volume of DistortionOutput to zero.  However, the script freezes once run and no change is observed.

I have made sure the OS firewall is off (Manjaro seems to have it off by default) and have tried a telnet to localhost at that port also, no connection.  Thoughts, anyone?

--
Jonathan E. Brickman   jeb@ponderworthy.com    (785)233-9977
God gives!!!
Ponderworthy Music   Some New Music in Piano   Some Spoken Word        

# Get the mididings and OSC stuffs
from mididings import *
from mididings.extra.osc import SendOSC

# Set up the OSC port
#(you define it in non-mixer thanks to  "--osc-port=7587" option - no quotes)
port = 7587
 
#The actual conversion stuff
run(
   Filter(CTRL) >> CtrlSplit({
       # Non-mixer maping
       #It's always : /strip/[strip_name]/[effect_name]/[control_name]
       #Non-mixer uses values from 0.0 to 1.0. Therfore you have to divide by 127
       # Caution : 127.0 ( .0 !!). Check 'python's promotion' if you want to know why.

       #Sending MIDI CC #16 to the pan pot of the "mix1" strip
       # 16: SendOSC(port, '/strip/DistortionOutput/Mono%20Pan/Pan', lambda ev: ev.value / 127.0),
       # 17: SendOSC(port, '/strip/mix2/Mono%20Pan/Pan', lambda ev: ev.value / 127.0),

       # CC0 is sent to the gain of the "mix1" strip
       0: SendOSC(port, '/strip/DistortionOutput/Gain/Gain%20(dB)', lambda ev: ev.value / 127.0),
       # 1: SendOSC(port, '/strip/mix2/Gain/Gain%20(dB)', lambda ev: ev.value / 127.0),
   })
)



--
Jonathan E. Brickman   jeb@ponderworthy.com    (785)233-9977
God gives!!!
Ponderworthy Music   Some New Music in Piano   Some Spoken Word