SynthMaker

Knob modification

Archive · 2005 8 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

moham ·

Hi there

I installed SM a couple of days ago and i'm having a blast. However there's a modification i'd like to do to the knob module, but as math isn' my strongest point i have no idea how to pull it off.

What i'd like to accomplish is to put a few in's on the knob so i have better control of the output. I'm thinking "Min, Max, Steps and Add"

Let's say i want the knob to start at -12, in the center i want the value 0 and far right would give 12. While every tick inbetween adds 1. ( -12, -11, -10, -9, -8, -7, -6. -5. -4. -3. -2. -1. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )

I would then set Min: -12, Max: 12, Steps: 25 and Add: 1.

Any advice on how I can accomplish this? If i'm unclear, just shout and i shall try again 🙂

infuzion ·

This post about value ranges should be a good place to start. To get negitive numbers, change the "ValueMax" input to range, then subtract the end result by half.

skOre ·

The long story short:

multiply the output by 24. Then, instead of 0 to 1, you have 0 to 24.

then, subtract 12, so now you have -12 to 12

now the quick solution to have only integrer numbers is to put it into an integrer field:

moham ·

Awesome, thanks.

Next thing would be to make the knob act like more like a switch. Instead of having multiple positions for every value it "snaps" to them.

I've got it to work, however not flawlessly by testing different values in DragY Scale (Knob -> Knob Section -> Knob Dial -> Knob Control).

The value I use at the moment is -0.32, but how would one mathemagicly calculate the correct one?

Tom7777 ·

skOre posted first 🙂 also to define the quantized like steps more if you like you can multiply the number by 10 or 100 or something similar and then feed this through another Int and then divide by the same number you used to multiply.

infuzion ·

skOre's version is more elegant, but you may find yourself needing to add a 0.5 for rounding off. or may not.

The above methods are great if you want to use stock knobs/value editors that have a [0,1] float range. An alternate way, if you don't mind hacking, is to directly edit the DragX/Y inputs:

Remember to rename your version to so you know what you did to it a year later, & save it in another file (I have a toolbox.osm that I copy/paste from) or save it as a module (Tom's meathod). moham wrote: Next thing would be to make the knob act like more like a switch. Instead of having multiple positions for every value it "snaps" to them.

Yea, it's something I haven't perfected yet either after many attempts. I did a version posted elsewhere in the link I provided above which click-jumped to each whole value, but it was very flaky. Plus, how data flows/updated has changed drasticly since then; everytime you move the knob (using DragX/Y), a value "bump" will occour, even if the same value is re-sent. (Techincal note: Meaning, if you change the output for a DragX/Y to an Int, even if the value doesn't change, the same value will be pushed again regardless. You can see this if you attach DragX/Y Current Value -> your range multiplier -> Int -> Trigger; the trigger will set off 2-9 times before the value will change. )

You'll need to see inside my IntDebouncer, which won't allow any values to be transmitted unless they change:

(If anyone can come up with a better solution, please post here. This looks so ugly to me, but after hours of trial & error, this is all I can come up with.) Try disconnecting everything from the Redraws triggers & then connect the output of my IntDeboucer to the Redraws. Hopefully, the knob's GUI will only move (update) when the int values change, & you'll get your clicks. If it does work, please give credits 😉

infuzion ·

moham wrote: Next thing would be to make the knob act like more like a switch. Instead of having multiple positions for every value it "snaps" to them.

Sift takes another approach for clicking knobs. Works well too.

moham ·

Thanks alot infuzion, i'll give it a shot.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.