-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sun, Sep 09, 2007 at 12:52:54PM +0200, Frank Barknecht wrote:
Hallo, Ken Restivo hat gesagt: // Ken Restivo wrote:
2's complement from 64/Relative (Binary Offset) 2's Complement from 0 / relative (2's Complement) Sign Magnitude / Relative (Signed Bit) Sign Magnitude / Relative (Signed Bit 2) Single Value Increment/Decrement
What does "Single Value Increment/Decrement" do? Sounds interesting as well and may save some work.
That one outputs one number for each step you turn it up, and a different number for each step that you turn it down. The faster you turn it, the faster those numbers come flying in to ctlin, but the numbers themselves do not change.
RPN Increment/Decrement Message NRPN Increment/Decrement Message
I tried each of these and peeked at the MIDI stream to see what they do, and also at the output of PD's ctlin to see what might emerge. The "sign magnitude" and "2's complement" ones look pretty promising: they indicate which direction (up/down) and how fast you spin the thing.
Assuming you get -1 and 1 for down and up and any positive number for speed, you can multiply both numbers to get a stream of single numbers. Then you just accumulate these numbers using the standard
What I actually get with the 2's complements and sign magnitude ones, is a single bit that tells me direction (up or down), and a 6-bit number that tells me basically the velocity at which I spun the knob.
accumulator idiom:
| [+ ]x[f ] | [0\
(See the counting.pd tutorial that I posted on this list several times for details.)
Thanks, will try.
Now, to turn those numbers into a float between -1 and 0 that I can use for controlling various parameters in PD.
I don't think this makes sense: What should 0 and -1 indicate? The rotary controller doesn't have any left and right borders that could be mapped to be -1 and 0. And I also don't think, mapping -1 to min and 0 to max speed makes sense either.
I wasn't being clear. Only some of the parameters I want to control have a range between -1 and 1. Others have different ranges (i.e. from 0 to Nyquist frequency, etc.). My point being, I'm eager to find a way to use these rotary controllers, to break out of the limitation of having to divide whatever range I am faced with, into 128 measly discrete steps.