Hacker News new | past | comments | ask | show | jobs | submit login

I did do a lot of back and forth testing with Rebirth, and the VST plugin: ABL3 whilst developing this and specifically whilst setting the max values for the cutoff, resonance and env.mod. - The tricky thing is that they all have an affect on each other, the max resonance is lower when the cutoff is lower for example.

Regarding the rotary controls: These work by measuring the distance in pixels from the point you first clicked to the point the mouse have moved to. I only managed to test this on a 3 different computers so I think if you have a really high resolution, the knobs will move too fast. I'll change this at some point to be percentage based instead of pixel based.

I added the right-click to delete as that is how FL-Studio works, which is my favorite daw. Its handy to keep the left click as you can use it to select a note in the drum editor and then set velocity.

Thanks for checking it out!




Please fix the rotary controls. Use the atan2 of the mouse's current window position minus the position of the dial's center to calculate the "current angle"/offset of the dial. I'm just waking up, so there might be slightly more to it than that, but not much.

The current solution is just bad bad bad. :(

Awesome project otherwise. :)


It's impossible to please everyone with rotary controls. If I read you correctly, you're asking for them to be controlled by actual rotary movement of the mouse. Many people dislike that (and I'm one of them) because it's hard to make circular motions smoothly. Meanwhile, the rest of the people dislike linearly-mapped rotary controls because the motion doesn't match the visual form of the control.

I would have suggested making them respond linearly, but to both x and y motion. That is, the effective position change is the maximum of the mouse x and y axis displacements from the click position.

My view is that rotary motion is not useful in an on-screen GUI (unless you have a MS Surface Dial perhaps?); rotary-looking controls only exist to save space and provide a friendly appearance. The way they actually behave should be whatever is most efficient to drive, regardless of their shape.


You've misread me--I'm suggesting to use the angle formed between vertical and the mouse's current position, and then wherever it moves, to add to the current position of the rotary knob.

This doesn't mean that you end up with having to carefully dial the knob, but it does let you click and drag the mouse in such a way that the rotary dial at least rotates in the direction you'd expect. The current behavior sometimes turns CW, sometimes CCW, seemingly at random--if we decide to skeuomorph, we might as well skeumorph correctly.


You could achieve both your core requirements from the final two paragraphs by having, effectively, a slider control underneath the rotary dial. The slider is the actual control — behaving as you describe in para 2 — and the rotary dial is merely for pleasing visual feedback. The GUI would have to emphasise the roles of those two separate parts somehow.


I will look into it now that it has been mentioned a few times.


i agree with cannam above. Many people prefer the vertical motion to change values.


The resonance appears to decrease with cutoff frequency because of high pass filtering in the feedback loop of the 303 filter... Higher frequencies have more feedback and thus more resonance.

The envmod knob also affects both the max and min cutoff values from the main envelope generator.. that part is tricky - the envmod and cutoff knobs are exponentially tapered, but the filter control circuit also contains an exponentiator so the sweep is sort of doubly exponential but its hard to tell the difference.


The rotary controls aren't working like that at all for me; that's actually how I expected them to work, once I learnt that they weren't rotary (my initial expectation). For me, they are moving solely in terms of vertical mouse movement; up goes clockwise; down, anti.

Actually, now I've used them for a bit, I find them fine to use. The initial learning curve is steep, but maybe it's worth it. What I'd ask for next is keyboard compatibility :)


I meant that it checks the point you clicked on the Y-axis only, then checks where on the Y-axis the mouse has moved to. I did it this way as it is how almost all music programs and vst etc do it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: