Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression in OSC mute/solo behaviour #7579

Closed
gitsmol opened this issue Mar 16, 2024 · 3 comments
Closed

Regression in OSC mute/solo behaviour #7579

gitsmol opened this issue Mar 16, 2024 · 3 comments
Labels
Bug Report Item submitted using the Bug Report template OSC Issues related to Open Sound Control (OSC) API

Comments

@gitsmol
Copy link
Contributor

gitsmol commented Mar 16, 2024

Bug Description:
Mute and solo commands sent over OSC are partially ignored.

Surge XT Version
This was found in 520b6f8. Not sure when the bug first occurs. It's not present in 1.3.1.

NB: the bug does not occur in CLI-mode. It's might be akin to 7417.

  • Version:
    Standalone GUI, 64-bit on Mac.

Reproduction Steps:

  • Build Surge from git.
  • Launch GUI
  • Check OSC responses:
    • send /param/a/mixer/osc1/mute 1.0
    • Note that osc1 is muted in the UI
    • send /param/a/mixer/osc1/mute 0.0
    • Note that osc1 does not unmute.

The same goes for solo-ing.
Tested using OSCD and TouchOSC.

Expected Behavior:
For the mute and unmute buttons to toggle on and off. For the UI and OSC to stay in step.

Computer Information (please complete the following!):
Macbook M1
Mac OS Ventura 13.6.1

@gitsmol gitsmol added the Bug Report Item submitted using the Bug Report template label Mar 16, 2024
@mkruselj mkruselj added the OSC Issues related to Open Sound Control (OSC) API label Mar 18, 2024
@mkruselj mkruselj added this to the Surge XT 1.3.2 milestone Mar 18, 2024
@pkstone
Copy link
Contributor

pkstone commented Apr 27, 2024

@baconpaul @gitsmol : I can recreate this, but do not know the reason for the behavior. All other Parameters are working fine, and there is nothing special about '/param/a/mixer/osc1/mute' that I know of. Here is a quick Python script to recreate the error; it is supposed to alternately mute and unmute Osc1 every 2 seconds. Mute the other Oscillators to make it obvious. You can hear that it mutes the mixer strip for Osc1 (and the UI reflects this), but the un-mute never happens, neither audio- or gui-wise. What is the secret to getting "/param/a/mixer/osc1/mute" to unmute?

from osc4py3.as_eventloop import *
from osc4py3 import oscbuildparse
import time

ip = "127.0.0.1"
port = 53280	#Surge XT default OSC in port

def oscOut(addr, val):
    msg = oscbuildparse.OSCMessage(addr, ",f", [val])
    osc_send(msg, "oscout")
    osc_process()


osc_startup()
osc_udp_client(ip, port, "oscout")

for x in range(20):
    oscOut("/param/a/mixer/osc1/mute", 1.0)
    time.sleep(2)
    oscOut("/param/a/mixer/osc1/mute", 0.0)
    time.sleep(2)

osc_terminate()

@pkstone
Copy link
Contributor

pkstone commented Apr 28, 2024

@baconpaul I'm zeroing in on this one. It has to do with mute (at least) being stored as a bool in Parameter. There's a 'changed' check in the (OSC-resultant) update of parameters, which is only looking at p->val.f. I will fix this.

@pkstone
Copy link
Contributor

pkstone commented Apr 29, 2024

@baconpaul This one is fixed. #7626 is still not fixed.

baconpaul pushed a commit that referenced this issue Apr 30, 2024
…nges echoed to OSC. (#7632)

* Added code preventing 'leakage' of OSC-changed oscillator type (and FX type) echoing to OSC out. Prevented so that all /param changes behave consistently.

* Spec. tweak

* Parameter changes caused by VST3 automation are now echoed to OSC out

* Fixed incorrect reporting of affected FX slot when echoing changes caused by  "/param/fx/<s>/<n>/deactivate".

* Fix for #7626; crash fixed and '/param/fx/<s>/<n>/deactivate' is working properly, as well as echoing  GUI changes correctly and responding to OSC queries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report Item submitted using the Bug Report template OSC Issues related to Open Sound Control (OSC) API
Projects
None yet
Development

No branches or pull requests

4 participants