1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

User interface help:Signal processing on stereo signals - independently and locked?

Discussion in 'Building With Reaktor' started by Majnun, Jun 17, 2007.

Thread Status:
Not open for further replies.
  1. Majnun

    Majnun Forum Member

    Messages:
    46
    Okay I have to identical effects on left and right channels (two identical 4-pole filters, lets say).

    I want the user to be able to alter them independtly, and I also want him to be able to lock the right filter's settings to the left's (so that the stereo signal gets processed the same).

    What's the best way to accomplish this?

    Thanks!
     
  2. Contrast

    Contrast NI Product Owner

    Messages:
    347
    The basic idea, which you can expand on.

    Main things not shown in picture are that the "To L" and "To R" modules are IC sends, connected in the obvious way. It's probably obvious but L and R are knobs and Link is a button.

    It's absolutely critical that:

    - The IC sends are set to the same range as the knobs (in this case both knobs are 20-120 default controls, so I changed the IC send range to min 20 max 120)
    - You ensure that the "mouse reso" parameter of each knob is a multiple of the "num steps" field. (num steps in this case is 100 so I set the mouse reso to 200 on the knobs, 100, 300, 400, etc are also ok)
     

    Attached Files:

  3. Majnun

    Majnun Forum Member

    Messages:
    46
    I think I see what's going on here... one question though... what's the purpose of the step filter?
     
  4. Majnun

    Majnun Forum Member

    Messages:
    46
    Okay I got that working great for knobs...awesome thanks!

    Can something like this be done for switches as well?
     
  5. Contrast

    Contrast NI Product Owner

    Messages:
    347
    The step filters might not be needed, IC sends have them built in essentially, I just tend to take a better-safe-than-sorry approach when it comes to things that can crash Reaktor (infinite loops), and I have vague memories of crashing it a few times when doing this kind of thing with IC sends quite some time ago.

    Don't think so on the switches, but I don't know for sure as I avoid them like the plague.
     
  6. Majnun

    Majnun Forum Member

    Messages:
    46
    What do you use in place of switches?
     
  7. Majnun

    Majnun Forum Member

    Messages:
    46
    Figured it out myself: selector.

    And I just link the List that feeds the Pos of both selectors like you showed with the knobs.

    The weird thing is I had to invert the min-max to get them to select the proper linked one. Not sure why that is, but it works.
     
  8. kid_sputnik

    kid_sputnik NI Product Owner

    Messages:
    3,552
    you have to invert it because of the way that Lists are IC-controlled. it has nothing to do with the value that the list sends, but of the order of the list objects themselves, and if memory serves i think it is backwards or something confusing like that.

    also, as a sidenote, remember that IC send/receives are autoscaled as well. this is why comfy mentioned that is is critical that you adjust the min/max values. if the min/max is 0/1, then sending a .5 will set the recieving control to it's middle value, regardless of what the receiver's range is! basically, the range is for determining how the input values are mapped. im guessing it does something like : IC send value is mapped internally to a float between 0 and 1, where the value is determined by the min and max (so, min/max -5/25 will use 0 for -5, 1 for 25, and a range of 0...1 for inbetween values), and this 0..1 is multiplied by the receiving control's min/max to determine the value to set the control to. and, as comfy said, the module DOES seem to do some internal stepfiltering, i believe it Herwig Krass (Herw) even did some testing of this awhile back. regardless, the stepfiltering is not a bad idea, eventloops (including those with InternalConnections) are tricky business and sometimes dont work like you'd think.
     
Thread Status:
Not open for further replies.