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

scaling question

Discussion in 'Building With Reaktor' started by big920, May 27, 2009.

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

    big920 NI Product Owner

    Messages:
    256
    i should know how to do this, in my head i get the concept, just not the correct way. i have a knob on a midi controller that is an endless rotary knob that makes value jumps in increments of 8. what i want is to be able to turn the knob and have one value precision. im sure this involves some event modification where for every 8 the knob would than move one, if that makes sense. sorry for such a simple question, and thanks in advance. its a digidesign r1 for reference.
     
  2. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    Joshua, you can use Frequency Divider in case your knob sends 8 events or just divide module in case it sends value of 8 ones.
     
  3. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    How about dividing the output with 8 and use step filter to prevent multiple events with same value ?
     
  4. big920

    big920 NI Product Owner

    Messages:
    256
    thank you both i will try an amalgamation of your suggestions. i was sitting here knowing i either needed some math or event processing module. i was looking at this r1 i bought like two years ago on ebay for like $30 i think and it is the most heavy weight controller i have ever touched. the faders are beautiful the knobs though jump in those increments of 8 making it too course. thanks for the help, aleks glad to see all went well, at least physically, with the flight. :)

    tried with the divide module, real quick, it works to scale the 8 to a 1, but now instead of 127 being my max output of the knob its 15.88, doh. i will get back to you...i know we are always told to upload an example, but this is too simple for that. take a knob set its step size to 8, min to 0, max to 127. hook a numeric readout set to always active to its output. the modification of the knob must take place w/o changing its settings in the property window. hope that makes sense.
     
    Last edited: May 27, 2009
  5. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    I assume that the controller sends CC value ? In that case maybe a simpler way would be determining whether the controller is increasing or decreasing the value, so no matter what increments/decrements it made you could always work with value of 1 for adjusting the value within the 0-127 range. And since the controller is an endless rotary, it doesn't really have min/max limit i guess..
     
  6. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    :|
     

    Attached Files:

  7. big920

    big920 NI Product Owner

    Messages:
    256
    bertant-yes the knob on the controller sends midi cc. what you describe is where i am in my head. the knob on the controller increases/decreases in the increments of 8, figure out if it is moving up or down and send out one value for each step in takes in either direction. no clue how. also i think technically there is a min/max value as once you go too far either way it just jumps to its closest value. ie if you turn the knob up all the way you will get 111.13, 119.06, 127, than back to 0. in short once you go above 127 it wraps back around to 0, once you go below 0 it wraps around to 127.
    aleks-thanks as usual for the quick help, unfortunately, it is not doing what i need. it is still moving in increments of 8 when i use the controllers knob.

    maybe a better way to describe the situation is how would i hook up a midi cc module and correct its output from a precision of 8 steps to a precision of 1 step.

    thank you both...
     
  8. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    Maybe the solution will be to do an event core cell counter, that sends step of 1 to IC Send to knob when you move your control on 8 steps?
     
  9. big920

    big920 NI Product Owner

    Messages:
    256
    aleks your right, i have been thinking about it and its not a conversion issue per se as the knob is endless and i need to just register up/down movement. i will need something that can do that regardless of the knob going back around after hitting its min/max. i really dont use core much, guess i have a reason now. :) i will most likely need help. :(
     
  10. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    Can you write me once again:

    1) What is stepsize of your controller knob - 8?
    2) What is maximum of your controller knob - no maximum or 128?
    3) What is minimum of your controller knob - no minimum or 0?

    I think it will look like this - you have to move your controller knob 127 times to achieve value you want. But I have no idea how would you reset core cell - onl with some Reset button only I guess.
     
  11. big920

    big920 NI Product Owner

    Messages:
    256
    step size of controller is indeed 8. knob is indented steps.
    127 is the maximum of the knob.
    0 is the knob minimum.
    thank you very much aleks. like i said i have no knowledge with core really, just modifying things here and there. the core cell would have to i suppose only recognize that the controllers knob has made a step up or down. based on this it would output a single step (1 step) in the corresponding direction. like i said before the knobs just wrap around when they hit the min/max so the actual value of the knob cannot be the input, only its movement in a positive or negative direction really matters. im sure you will whip this up before me but feel no obligation, i just need to go learn core i think before i can go much further. ;)
     
  12. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    Hm, so there are 16 steps on your controller knob then? But it is incremenet, means you can spin it as many time as you want?
     
  13. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    Hey Alex, this can be quite simple, if the knob jumps from 127 to 0 it can be identified as special case where it is an increment, not decrement. The same goes for 0 to 127 jumps. This looks like a combination of the two threads we discussed back then :D

    Pretty much like this :

    subtract current value with previous, positive means increment, negative means decrement, prev = 127 and cur = 0 means increment, prev = 0 and cur = 127 means decrement.
     
  14. big920

    big920 NI Product Owner

    Messages:
    256
    aleks- yes the knob has indented, set, or clicky knobs whatever description makes the most sense. also yes you can spin the knob in circles without any physical start or stop. sorry if i used the wrong terminology.
    bertant-are you referring to the start or this thread? also like i said before in my head i understand this concept just not its implementation. (ie how to store the last value, how to send positive/negative value as each click of the physical know equalling one step in reaktor, etc.) maybe i should just use one of the other three controllers i have.... no to easy ;)

    edit-sorry bertant dont mind the question about which thread, im a little slow sometimes, sorry...
     
    Last edited: May 29, 2009
  15. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    Well, there's discussion about making a rotary knob from XY here, so i think this is a perfect representation of your controller's endless rotary knob. And Alex has started a thread about how to use IC send to control Reaktor knob movement via MIDI Sel. Gate. I think what you need is a mixed of those two threads, because in rotary XY discussion there's a problem when the rotary wraps on its limits and in knob control discussion i've proposed an alternative way of determining increments/decrements from the movement of a knob. I hope you find those two threads useful :) (although seems like you've found them)

    For last value storing z^-1 core module does the job perfectly, from there you can subtract the current with previous value, and use Rectify Sign module to get +1 or -1 value as the movement direction. Then just add a special condition when the knob wraps on its limits, clip the result within 0-127 range, and you'll have a true endless MIDI rotary control with 1 value increments.
     
  16. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    I'll think of it a bit later, very busy this week guys, sorry.
     
  17. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    Please don't leave us Alex :D
     
  18. Aleksandr Smirnov

    Aleksandr Smirnov NI Product Owner

    Messages:
    1,539
    Try this! ;)
     

    Attached Files:

  19. big920

    big920 NI Product Owner

    Messages:
    256
    aleks you are the best. thank you so much this works, i will study as much as possible so i can ask fewer questions. sometimes i wonder where the information comes from that the other users have, as i lack it and would love to know where to go to learn more. anyway thank you both bertant and aleks the efforts are greatly appreciated, hopefully you gave me a new concept to learn and some more money in my pocket. ;)

    edit
    thanks for adding twenty knobs to the rig...
     
  20. BertAnt

    BertAnt NI Product Owner

    Messages:
    414
    Nice ! :cool:
     
Thread Status:
Not open for further replies.