From the original SynthMaker forum (2004–2014), with its members’ names and dates.
mwvdlee ·
Building on this topic: Arrowhead
These swingers approaches a target value, kinda like the Zip or the Slide, but has a few parameters that enable it to approach the target in a non-linear manner as opposed to the aforementioned modules.
Attached file demonstrates it:
Other possibilities for similar effects would be bounce, slow-to-fast, delay or a wait-for-target-to-stop-changing.
Another neat possibilitie would be a module that doesn't stop when reaching a target, but calculates interia while the target is changing and slows it down based on inertia after dragging is stopped; allows you to drag&throw instead of drag&drop 🙂
Note that if you want to use this to drag stuff around (i.e. windows, controls), you'll need to make the drag area itself invisible and non-swinging.
trogluddite ·
Very nice 😀
Instantly makes me think 'Physical Modelling' - and all in green too! This could be great for any kind of 'generative' music or modulation, with a GUI based on 'physical' objects that you can wobble and throw. The same algorithm in a stream would be a great start for simulating pipes/bars/tines/strings etc.
Brings to mind that old Aphex Twin (I think) track made out of a sample of a bouncing ball-bearing.
Tzarls ·
This is great! Could be used to replace the LFO used in the cable project for the bouncing effect of the patch cables.
Maybe could be used to build some kind of manually-driven bouncing modulation source...... mmmmm!
infuzion ·
Really neat mwvdlee, thanks for sharing! Not too bad on CPU also. 🙂
mwvdlee ·
trogluddite wrote: This could be great for any kind of 'generative' music or modulation, with a GUI based on 'physical' objects that you can wobble and throw.
Shouldn't be that hard to convert coordinates to sound:
😉
stw ·
mwvdlee wrote:
trogluddite wrote: This could be great for any kind of 'generative' music or modulation, with a GUI based on 'physical' objects that you can wobble and throw.
Shouldn't be that hard to convert coordinates to sound:
😉
lol 😀 this is damn cool. Could play for hours with it. Thanks for that!
I just added an amp and a sound shut off for border breach to save our ears! And for further pleasing a panning option.
philter5 ·
OMG mwvdlee you´re a genius that is so f**king cool!!! imagine this control added to a theremin -style instrument
to display the portamento or something like this 😍 😍 😍
great job!
phil
stw ·
philter5 wrote: OMG mwvdlee you´re a genius that is so f**king cool!!! imagine this control added to a theremin -style instrument
to display the portamento or something like this 😍 😍 😍
great job!
phil
Hah, neat idea! 😉
Here's a first approach based on AMs quad formant filter. No optimizations included.
Have fun...
Maybe it's time to place the thread inside the examples forum?
mwvdlee ·
stw wrote: Here's a first approach based on AMs quad formant filter. No optimizations included.
Have fun...
Maybe it's time to place the thread inside the examples forum?
That's a nice one 🙂 Had fun toying around with it and much nicer sounding than a simple wave.
Vertical axis seems flipped.
Wonder what more can be done... how about using the "elastic band" distance or angle as a parameter, or the speeds?
How about using the mouse buttons for something?
Maybe the entire topic could be moved to examples, I don't think it'd be particularly smart to open yet another topic based on another topic.
Update; here's an update of the STW's theramin with some tweaked graphics and a button detection (press LMB to increase volume, let go to let it drop). Why? Because we can! 🙂
In order for decent sound generation, the swingers should really be implemented as streams.
Dell ·
I've only downloaded the first OSM however, it reminds me of a Yo-Yo or possibly hitting the rubber ball on the wooden racket with a string attached. 🙂
Jay ·
They are all brilliant fun! really cool idea!
Its like an Aboriginal bullroarer instrument! http://www.youtube.com/watch?v=3Kf_RYVt2XQ
22% in task manager and 25% in SM on the XP, Core 2, 3gigs ram machine i am sitting at now!
Great stuff guys 😀
mwvdlee ·
Jay wrote: 22% in task manager and 25% in SM on the XP, Core 2, 3gigs ram machine i am sitting at now!
Most of that performance is probably in that tiny wire attached to the ball and mouse pointer; it's redraw area can get a bit huge. Being a line, somebody may be able to construct a smart area thingy for it that doesn't cover quite so much space 🙂
stw ·
This thing is really crazy. Wild updates mwvdlee! 😀
Here comes the next version. Swing and Damp are available on the front panel. Additionally you can record the mouse movement. The buffer is limited to 10s. Right click toggles record mode. For playback use the button.
An automated button press for volume isn't implemented yet (mwvdlees updates crossed mine 🙂 ) So you have to manually trigger the button in playback mode right now.
And yes someone should stream the swinger... 😉
mwvdlee ·
stw wrote: This thing is really crazy. Wild updates mwvdlee! 😀
Here comes the next version. Swing and Damp are available on the front panel. Additionally you can record the mouse movement. The buffer is limited to 10s. Right click toggles record mode. For playback use the button.
An automated button press for volume isn't implemented yet (mwvdlees updates crossed mine 🙂 ) So you have to manually trigger the button in playback mode right now.
And yes someone should stream the swinger... 😉
Record doesn't seem to work for me.
How do you enable recording mode?
Anyway, I'll try to make a stream swinger. Pretty much anything animated is better with streams anyway; the tickers are totally unsuitable for any linear animation.
Perhaps this one should be move to projects instead, seems like a fun thing to try and complete as a team. Or atleast a fun project to try out weird stuff you can't use elsewhere.
MichaelBenjamin ·
this is pretty funny to play around with, great work.
stw ·
mwvdlee wrote: Record doesn't seem to work for me.
How do you enable recording mode?
right click -> enable and disable
mwvdlee wrote: Anyway, I'll try to make a stream swinger. Pretty much anything animated is better with streams anyway; the tickers are totally unsuitable for any linear animation.
go for it... 🙂
MichaelBenjamin ·
heres a raw stream swing conversion, probably with denormals and you need a much lower damp value at samplerate:
You beat me to it by a few seconds 🙂
Already made my own streams, which, obviously, are practically identical to yours but minus one of the local floats.
[strike]Haven't tried ASM optimizing.[/strike] ASM Optimized 🙂
Tried my idea of splitting the line area into four areas to save redraw time, but performance is much, much worse.
I also tweaked the dot a bit, with a pie slice instead of color fade.
Also corrected a bug with the two scope bars; an extraneous normalizer caused them to not fade properly.
Note that I haven't fed the mono outputs of the new Swings to audio production. The audio part is stw's magic, so he can probably hook it up faster than I can.
MichaelBenjamin ·
heres the full stream version.
stw ·
MichaelBenjamin wrote: heres the full stream version.
Thanks for that.
Here's a small update. Some minor cleaning and tweaking:
Border branch now fades like the mouse button press. The button is now recorded. I made the fade in/out controlable with a knob on the frontpanel. There're still some glitches but that's it for today.
BTW Audio credits go to AM. He created the quad formant filter.
MichaelBenjamin ·
merged 4x vca into the 4mixer
tektoog ·
Hey,
Really cool project guys...
Makes me also wanna train for the next olympics hammer throw !!!
I just tried to give this nice instrument (or whatever you call it) a bit of eye candy...
I used parts from this thread Dropshadows
to give it a bit of a 3d feeling... I used Ver SickTheremin0007.osm
Hope it's all right...
stw ·
3D look is nice. However these are many rectangles which make it hard to manage the gui. Maybe that should be made with a final bitmap after finishing the front panel?
In this update i rearranged some stuff and did a 4pack for the filters which makes a heavy reduction on CPU. Now the whole audio part is in stream including the record.
tektoog ·
stw wrote: However these are many rectangles which make it hard to manage the gui. Maybe that should be made with a final bitmap after finishing the front panel?
I can understand your feeling about that, but it really is a question of habit. Once you have layed out the boxes, you can move groups of graphics, instead of just moving the knobs, you move the knobs and the boxes together...
I find it more practicle this way as opposed to a bitmap rendering, because it avoids to render a bitmap each time you change the gui layout... and I also think that often it is lighter in weigth this way... but maybe I'm totally wrong there...
But yeah, when the thing will be at its final version, if you think it will be easier with a bitmap, let just do it this way...
I reordered some boxes that have been misplaced during last update...
I was also thinking this thing would also be really nice to trigger samples...Imagine, 8 pads on the horizontal axis and 4 on the vertical one... then move the hammer...can make some rad cool random sample triggered sequences....
mwvdlee ·
tektoog wrote: I was also thinking this thing would also be really nice to trigger samples...Imagine, 8 pads on the horizontal axis and 4 on the vertical one... then move the hammer...can make some rad cool random sample triggered sequences....
I'm not a fan of the 3D borders; the all-black look was a bit more "moody".
As for the samples; while playing around with it this morning, I thought it'd be really cool if we had samples triggered by slamming the dot into the borders; make it some heavy drums like Daiko's or something. Or more drums perhaps; just because a computer screen has four borders doesn't mean you window has to 🙂 Some way to detect speed when hitting the border for volume. If you could detect speed, you could even bounce the dot back.
Perhaps a nice idea for a split-off project?
MichaelBenjamin ·
btw this http://store.steampowered.com/app/41100 is a pretty cool 2d bitmap game based on the same principle.
stw ·
mwvdlee wrote: I'm not a fan of the 3D borders; the all-black look was a bit more "moody".
I disconnected the 3D adds for now. However i left the module inside. If one wants to activate it the V links have to be dis/connected at the corresponding modules.
mwvdlee wrote: As for the samples; while playing around with it this morning, I thought it'd be really cool if we had samples triggered by slamming the dot into the borders; make it some heavy drums like Daiko's or something. Or more drums perhaps; just because a computer screen has four borders doesn't mean you window has to 🙂 Some way to detect speed when hitting the border for volume. If you could detect speed, you could even bounce the dot back.
Perhaps a nice idea for a split-off project?
Possibilities are endless and only limited by our creativity. The hardest part will be to come to a common idea and to organize work on it. Maybe that's a bit overdone at this point.
For now i follow the basic concept and finish it up to a point where it could be considered as a "official" release. Some fine tuning and some major issues have to be served. But i don't mind if one wants to bring this baby at any point to other great results. 🙂
Here's a minor update:
Double left click activates and holds the sound until a left click is done. I hopped the filters which again gives some major CPU improvements. I added additional labels for the frequency area. A right click on the base freq button switches between frequency and note display. With note display the button output is stepped to halftones.
mwvdlee ·
Just one thing I was contemplating whilst fitnessing (which is usually the best place to think about these kinds of things); shouldn't the display be square instead of rectangular?
Also; the two bars I put in probably take up a lot of CPU. It might be best to eliminate one of the two (I can't choose which one) and use the space of the other for something else (or just leave it empty).
And one more thing; wouldn't it be more convenient to integrate the record/playback into the "All mouse movement" thing? Since it emulates the mouse?
infuzion ·
stw wrote: In this update i rearranged some stuff and did a 4pack for the filters which makes a heavy reduction on CPU. Now the whole audio part is in stream including the record.
I was hoping to find all the phonemes in 4 freq to use up the Pack4 for each filter 🙁 , but this works also! Wow the CPU is decent as it is, & I see alot of room for reduction... 😉
This is really amazing guys! Helps re-build my confidence in SM. I think this can actually be a professional product; just needs more unified knobs, cleaner GUI, playback speed, & more optimization could help. 😉 Source code is a bit too public to make money of it, but I think a donationware for the deluxe version for something like Feed the Children would be great IMHO.
Bug: Seems that record/playback is at double speed. Could be a great feature, but I'd like to switch it off & on.
mwvdlee: Those bars can be made to turn off & on. Could also overlap them or combine them into 1 box to save GUI update work.
BTW, making one corner "i" & a neighbor "ae", sounds like an Indian chant. 🙂
mwvdlee ·
infuzion wrote: I think this can actually be a professional product; just needs more unified knobs, cleaner GUI, playback speed, & more optimization could help.
I don't know about stw or the others, but I'd really like this one to be a place where you can dump all your crazy and strange ideas you would never ever use in a real product, so go right ahead and send in the weirdness 🙂
I'd love to see a different way of selecting the "ea", "i", etc sound configuration.
trogluddite ·
Best new project for ages! 🙂
Made a very minor update...
The recorder now has a loop switch that loops the movement for the length of time that you made a recording.
Use with care - the end points aren't crossfaded, so you can get some really big jumps at the loop end/start.
I'll dig through my Loopa .osm - I have a motion recorder there that can sync to tempo, with any luck it'll just drop straight in - I was planning to up' it as an example module anyway, but got distracted by lots of pretty graphics!! 😉
Not sure about the 'double speed' recorder bug - I can't replicate anything that sounds out of time on my system.
mwvdlee ·
trogluddite wrote: Best new project for ages! 🙂
Indeed.
Could one of the admins please move this topic to the Projects? It was about two posts regarding swing and three pages about the SickTheramin project 🙂
trogluddite wrote: Made a very minor update...
So did I, and I encorporated your looping recording (assuming all logic was in the Record Wave module and the visuals, please check as I haven't used it much before your changes so can't tell the difference).
My update (number 0010) is basically to make the display square, and to let the dot bounce off the borders of the display instead of move outside. The borders are configurable (so could be individually disabled, which I totally understand; whipping it around in big sweeps is just a lot of fun). The code for the bounce is unoptimized asm. At incredible high speeds it actually goes partly through the border, but at 44K1 "frame rates", I haven't seen it happen yet. Also, the bounce isn't perfectly aligned to the border, but again, the 44K1 FPS makes this practically invisible.
Hope this doesn't cross any other update, but my changes should be easy to incorporate; it's just the two swingers and some visual bits moved and stretched.
Oh, and there's this "force" thing now, which I haven't used for anything yet but I'm sure somebody else can 😉
trogluddite wrote: Not sure about the 'double speed' recorder bug - I can't replicate anything that sounds out of time on my system.
Perhaps this is an issue with sample rate?
MichaelBenjamin ·
-merged the force code and normalized it based on gui width (maybe that should be height in this case), and put it into osc phase for testing
-added optional "keep playing if mouse outside the gui" to get the bounce feature fully audible
MichaelBenjamin ·
now what i thought would be quite cool if you could let go the ball on mouse release, so that this actually deletes the "cable" it is connected to and lets it float and bounce around freely without loss of energy (or maybe that too). mouse down spawns the cable again between the current ball position and the mouse cursor to catch it back in. but i have not much of an idea atm how to do it.
stw ·
Some brilliant ideas over here... 😀
I fiddled around a bit and added some changes. I guess this project runs out of control so every discussion of what should be done or not is obsolet! 😈
I changed the GUI. Graphical elemnts are on top. I removed the top lightning bar because i like the lower much better 😀 😀
I added a bounce button which enables MBs idea of keeping sound alive . I tried to activate the whole bounce feature with that but ran into problems with enabling bounce button outside of the borders. So i dropped that for now.
I arranged some properties like colours or en/disabeling the line.
Main update: If you bounce against the formant selectors they change to the next formant. Play around with it and have fun.
I wired the neat "force" output (thanks mwvdlee!) to the freq instead of phase. The amount of effect can be adjusted at the front panel. Gives some real funny results! 😀
So here it is:
BTW: I liked the former size much better. Now the Theremin doesn't fit on my laptop anymore! 😠
MichaelBenjamin ·
was easier than i thought:
heres a quick mod that wires the right mouse to let go the ball and right mouse again to catch it back.
no recording though.
MegaHurtz ·
Brilliant project 😀 Really put a smile on my face.
The added throwing thing is sick 🙂
Andrew J ·
mwvdlee wrote:
trogluddite wrote: Best new project for ages! 🙂
Indeed.
Could one of the admins please move this topic to the Projects? It was about two posts regarding swing and three pages about the SickTheramin project 🙂
Done (shadow topic left in Graphics)
mwvdlee ·
stw wrote: Some brilliant ideas over here... 😀
I fiddled around a bit and added some changes. I guess this project runs out of control so every discussion of what should be done or not is obsolet! 😈
Let's keep those kinds of discussions for when we run out of new things to try with audio 🙂
stw wrote: I added a bounce button which enables MBs idea of keeping sound alive . I tried to activate the whole bounce feature with that but ran into problems with enabling bounce button outside of the borders. So i dropped that for now.
The issue is probably caused by me. Right now there's a separate code that simply says "flip sign" or not. What it SHOULD say is "just keep on going", "make sign positive now!" or "make sign negative now!". That should help it get out of out-of-bounds start situations.
stw wrote: Main update: If you bounce against the formant selectors they change to the next formant. Play around with it and have fun.
I wired the neat "force" output (thanks mwvdlee!) to the freq instead of phase. The amount of effect can be adjusted at the front panel. Gives some real funny results! 😀
Both work quite well. Only problem is that we're going to end up with a lot of options 😀
stw wrote: BTW: I liked the former size much better. Now the Theremin doesn't fit on my laptop anymore! 😠
Perhaps we can rearrange the controls to either side or make it pop-up in some way. I understand not fitting on screen is a serious issue, but I also believe the display should be square; there must be a way to solve this dilemma.
infuzion ·
MichaelBenjamin wrote: heres a quick mod that wires the right mouse to let go the ball and right mouse again to catch it back.
I have issues with the ball releasing when when I have the LMB down & trying to click the RMB. Might want the release to be done with a MIDI &/or QWERTY button.
mwvdlee wrote:
stw wrote: BTW: I liked the former size much better. Now the Theremin doesn't fit on my laptop anymore! 😠
Perhaps we can rearrange the controls to either side or make it pop-up in some way. I understand not fitting on screen is a serious issue, but I also believe the display should be square; there must be a way to solve this dilemma.
1) Make the square & ball smaller.
2) Move all controls to a pop-out/pop-up/tabbed page.
stw ·
mwvdlee wrote:
stw wrote: I added a bounce button which enables MBs idea of keeping sound alive . I tried to activate the whole bounce feature with that but ran into problems with enabling bounce button outside of the borders. So i dropped that for now.
The issue is probably caused by me. Right now there's a separate code that simply says "flip sign" or not. What it SHOULD say is "just keep on going", "make sign positive now!" or "make sign negative now!". That should help it get out of out-of-bounds start situations.
Sorted that with a workaround.
mwvdlee wrote: Only problem is that we're going to end up with a lot of options 😀
I guess that'll be the main issue of the whole project! 😉
mwvdlee wrote:
stw wrote: BTW: I liked the former size much better. Now the Theremin doesn't fit on my laptop anymore! 😠
Perhaps we can rearrange the controls to either side or make it pop-up in some way. I understand not fitting on screen is a serious issue, but I also believe the display should be square; there must be a way to solve this dilemma.
I'd suggest to shrink the whole ball area and to rearrange the knobs on the side.. Also infuzions idea of tabbed screens may be the way to go.
I made a small update which recovers the recording. It's now enabled with a right double click.
Bounce button now completely enable/disables the feature. Rec length can be set in the properties.
EDIT: A quick update: I added some graphical bouncer to visualize the bumping. Not 100% (due to superb green triggering) accurate but i like it. 😉
EDIT2: Damn, i can't keep my hands of that thing.... 😠 😀
mwvdlee ·
Yeah, some tabs could be cool.
These a're very early, they'll need some tweaking before they can be used for real.
The orange bottom one is most complete with smart redrawing and positioning and mouse catch-all in the background rect.
p.s. How about making the dot-size configurable and shrinking the bounce borders by the dot radius?
*edit: The Swing in the bottom orange tab fixes, integrates and optimizes both previous Code modules into a single ASM module. Whoever updates SickTheremin first (no time for it today), please replace the Swing modules with the ones from this schematic; they should be much better. I've left the ASM optimization steps in there for curiosity sake. I hope somebody can learn something from it or atleast have a good laugh and redo it much better 😉
infuzion ·
stw: Your boarders are neat! I hope one can easily find the module for that & just delete it out if they don't want it.
mwvdlee wrote: p.s. How about making the dot-size configurable and shrinking the bounce borders by the dot radius?
I was thinking that the dot size can be configured or just stretched with the module's boarder. The ball play-field needs to be resizable also please 🙂 Right now it is a fixed size.
trogluddite ·
Excellent 'bouncy' tabs - they fit the feel of the thing so well.
All it needs now are pinball flippers at the bottom and a high score table!! 😉
stw ·
trogluddite wrote: Excellent 'bouncy' tabs - they fit the feel of the thing so well.
All it needs now are pinball flippers at the bottom and a high score table!! 😉
My feelings. We should change into game industries. 😀
@mwvdlee : These swingers are so nice! ANd the tabs as well!
@infuzion : Comes time comes configuring... The bumpers are one single module inside the drawings module. Easy to find.
Update: A first very rough implement of the view tabs.
Installed a master filter and did some bug hunting.
Have fun! 😀
EDIT: Sorry for the short update but since it's only downloaded once here's a new version with a few fixes.
infuzion ·
stw wrote: Update: A first very rough implement of the view tabs.
Installed a master filter and did some bug hunting.
EDIT: Sorry for the short update but since it's only downloaded once here's a new version with a few fixes.
Something happened with v14a, but some of these issues may or may not be new:
1) Ball's volume seems to grow too slow. edit: Sometimes... at first seems too slow, but now is OK
2) Doesn't make sound unless being moved. Might be a good alt function, but I like the LMB down = on.
2a) May need smoothing if the move=sound method is kept.
3) Ball can leave view area
4) Phonemic filter is switched when you move a LMB down over the selector, like by accident when you are moving the ball.
5) Ball moves without mouse buttons, so you really don't have control over it.
6) Missing line from center point of mouse.
cheers
stw ·
infuzion wrote:
stw wrote: Update: A first very rough implement of the view tabs.
Installed a master filter and did some bug hunting.
EDIT: Sorry for the short update but since it's only downloaded once here's a new version with a few fixes.
Something happened with v14a, but some of these issues may or may not be new:
1) Ball's volume seems to grow too slow. edit: Sometimes... at first seems too slow, but now is OK
2) Doesn't make sound unless being moved. Might be a good alt function, but I like the LMB down = on.
2a) May need smoothing if the move=sound method is kept.
3) Ball can leave view area
4) Phonemic filter is switched when you move a LMB down over the selector, like by accident when you are moving the ball.
5) Ball moves without mouse buttons, so you really don't have control over it.
6) Missing line from center point of mouse.
cheers
Hi Infuzion,
1) Maybe a matter of green timing. However visual and audio fades are not really synced. For now it's more like a approximation.
2) Yes, but that depends on the seetings you set on the knobs. In this case the filter cf is turned down and modulated by the force value. So it opens with movement. Turn up cf and you'll hear the sound. BTW: The filter implement is only thrown in for further treatment. So e.g. it lacks a on/off button.
3) By purpose if bounce mode isn't active!
4) Hm, thought that was changed already. However it'll be in the next update.
5) Do a right click and you'll fetch it. Right click also releases the ball.
6) can be changed at the properties.
stw ·
Ok here's the next one.
Changes: Implemented the ASM otpmized swinger from the last tab osm and 4packed them. I added the external bounce enabeling to the code Hopped the code for the graphics. Some good CPU reduce...
Some cleaning of the whole osm.
Implemented a bumper OSC. The settings can be done on the new "Bumper" tab.
All changes are not fully tested. So i guess there's lot of room for enhancememts and bug hunting... 😈
Have fun...
P.S. I need some sleep!
infuzion ·
stw wrote: The settings can be done on the new "Bumper" tab.
I was looking for a way to turn that thing off for 10 minutes until looked at the bottom. 😮
BTW, when I said "tabs", I meant these tabs, Where there would be only 2 tabs on top, one for the XY pad, & other for all the knobs, prefs, etc. Pop-up tabs could work also, but everything has to be moved to them sooner or later, since IMHO it is confusing with some things in tabs & others are not. Right now, one might not know to look at the bottom buttons to get to more prefs.
I did a bit of work on the OSM:
+ primitive reductions
+ moving a few Links inside to Wireless Outs
+ changed colors of switch labels to make them more readable/findable (should be put to universal prefs later)
+ removed RMB double click to record, since the RMB up to release the ball broke it.
+ added switch to front lower-right panel to switch the ball-follow from auto to only when LMB is down ("Drag Only").
bugs:
- volume indicator on ball still updates at a semi-random rate; often gets stuck at 3/4
- sometimes ball starts off-screen
- I left the ball area too small, oops
stw ·
infuzion wrote: + removed RMB double click to record, since the RMB up to release the ball broke it.
? I never had any trouble with this. Double click never interferred with a button up!
Has anyone else run into problems with that?
I'd rellay like to see that "record on the fly" feature in.
infuzion ·
stw wrote:
infuzion wrote: + removed RMB double click to record, since the RMB up to release the ball broke it.
? I never had any trouble with this. Double click never interfered with a button up!
Has anyone else run into problems with that?
I'd rellay like to see that "record on the fly" feature in.
I tried to record without releasing the ball & could not. It would be nice if one could record with the mouse, or maybe key.
mwvdlee ·
infuzion wrote: - volume indicator on ball still updates at a semi-random rate; often gets stuck at 3/4
I'm on it.
The volume is pretty much the only audio-producing part that's still mostly green, which means it doesn't get stuck, it simply behaves like all green stuff; jerky.
I've got a working stream "Slide", but haven't had the time to finish it up yet. When it's streaming, it should run smoothly over constant time. Probably going to alter the silly Time and Step inputs into a single "distance-per-second" (or "speed"?) one, which is much easier to understand.
infuzion wrote: - sometimes ball starts off-screen
It's probably because most people move the mouse off-screen when saving the schematic 🙂
If the Swings had a "Set to value" option, this could be initialized after load to center it.
I have a working "Set" in my stream Slide, which should be easy to transfer into the Swings, so I'll do it unless somebody else beats me to it 🙂
infuzion wrote: - I left the ball area too small, oops
Shame on you!
As a man, you should know better than to cramp your ball-space!
As for the sliding tabs, I kinda had the idea of making one tab on each edge, with some graphics on them to indicate what they are. My plan was to make all tabs triangular (i.e. left one shaped >, right <, bottom /\, top \/) so they all touch when open but without overlap. Remember that the tab pages can have any shape you want; no need to stick to the big-rectangle-with-small-rectangle-sticking-out-the-side look 🙂 Personally I'd like this project to emphasize the "fun" part of "functional", but I understand if other people vote for a more practical result.
mwvdlee ·
infuzion wrote:
stw wrote:
infuzion wrote: + removed RMB double click to record, since the RMB up to release the ball broke it.
? I never had any trouble with this. Double click never interfered with a button up!
Has anyone else run into problems with that?
I'd rellay like to see that "record on the fly" feature in.
I tried to record without releasing the ball & could not. It would be nice if one could record with the mouse, or maybe key.
Keyboard seems logical to me.
RMB seems to interact with LMB, so enabling recording using RMB affects the recording itself.
Double-click in an environment where you are playing using the mousebuttons is just asking for trouble. IMHO, double-click should be treated as single-click.
It might be nice to map some other keyboard keys to other functions/options/etc in the future, seeing as this thing must be controlled from behind a computer anyway.
mwvdlee ·
+ Added "center" to the swingers. I think the targets need to be centered as well 🙂
* Updated the tabs to somewhat cleaner schematic from the most recent "SwingTabs".
* Restored the display size
* Implemented a stream Slide for LMB instead of green. I guess the green Slides inside the edge bouncers can also be replaced by the stream Slide for more accurate animation speed.
Stream Slides come at a price though; it takes time from stream thread. On the other hand they're probably faster to run than the green Slide modules, being SSE and all. And in the case of the edge bounce animation, you can probably pack four of them together. But again; stream thread CPU is limited, green thread less so.
That's pretty much it from me this time.
infuzion ·
mwvdlee wrote:
infuzion wrote: - sometimes ball starts off-screen
It's probably because most people move the mouse off-screen when saving the schematic
That may be true. Seems if the "Drag Only" is on it prevents the ball from being off-screen.
mwvdlee wrote: As for the sliding tabs, I kinda had the idea of making one tab on each edge, with some graphics on them to indicate what they are. Personally I'd like this project to emphasize the "fun" part of "functional", but I understand if other people vote for a more practical result.
A successful GUI is both instantly clear & consistent. Your idea seems interesting if you can pull it off well!
mwvdlee wrote:
infuzion wrote: + removed RMB double click to record, since the RMB up to release the ball broke it.
Keyboard seems logical to me... It might be nice to map some other keyboard keys to other functions/options/etc in the future, seeing as this thing must be controlled from behind a computer anyway.
Middle mouse button support is cool also, but laptop users are missing MMB in their trackpad.
Ideas:
? Timer for recording
? "Freeze ball" function
(written before v0017 release)
mwvdlee ·
Here's another idea; remember the previous output x/y of the Swinger and calculate the distance (hypot) between that coordinate and the current coordinate. Now you have a different kind of force.
Actually the current "force" is more like "stretch force" and the force I just described is the "speed force" of the ball.
Sample (and absolute) this "speed force" at the moment a ball bounces of an edge and you get impact force which you could use to adjust the loudness of the edge bounce sound; high impact = loud noise, low impact soft = noise. Or, ofcourse, it can be used for whatever you like 🙂
Anyway, I'm off to the gym now.
p.s. There are other forces that could be calculated.
Hi sickies,
don't want to disturb your disussion (which i appreciate very much 😉 ) but i'd like to introduce the next update:" Step into Midi world"
Changes:
- bumper sound is now dependant of general bounce enable (didn't make sense it was). However this part needs some improvement which i'll go into later.
- introduced a midi module: By holding down "ctrl" while clicking into the area a label box opens showing the actual midi note. That can be changed by simply stroking a key on the keyboard. An additional left click sets the point as a hot spot for that key. So every key can have its own spot. A right click clears the array entry and the key has no function. The box closes.
It can be declared in the properties if an active note also enables sound or just moves the ball.
I did some other minor work which i don't remember anymore... 😕
@infuzion: You deleted the voice active on double left click. Was that for special reason?
However have fun!
stw ·
mwvdlee wrote: RMB seems to interact with LMB, so enabling recording using RMB affects the recording itself.
Double-click in an environment where you are playing using the mousebuttons is just asking for trouble. IMHO, double-click should be treated as single-click.
This is totally wired! What kind of mouse are you using? The two buttons shouldn't affect each other in any way!
Not even my Apple Magic mouse (which definitely has only one physical button) does that. 😮
trogluddite ·
mwvdlee wrote: distance (hypot) between that coordinate and the current coordinate
speed = sqrt ( (normx-oldx)^2 + (normy-oldy)^2 ); (hypoteneuse of a triangle)
oldx=normx; oldy=normy;
Would probably be just as effective without the square root though - in physics, the forces would be proportional to mass*velocity squared (the momentum)
mwvdlee ·
stw wrote:
mwvdlee wrote: RMB seems to interact with LMB, so enabling recording using RMB affects the recording itself.
Double-click in an environment where you are playing using the mousebuttons is just asking for trouble. IMHO, double-click should be treated as single-click.
This is totally wired! What kind of mouse are you using? The two buttons shouldn't affect each other in any way!
Not even my Apple Magic mouse (which definitely has only one physical button) does that. 😮
I don't think it's a hardware issue, since I have never had the issue with other software.
Try holding the LMB, press and release RMB and the hold on LMB seems gone. Seems S|M is able to only have one of the two active at any time, not both.
trogluddite ·
mwvdlee wrote: Try holding the LMB, press and release RMB and the hold on LMB seems gone
Seems fine here - I don't notice any interaction on mouse, trackball or even my graphics tablet.
mwvdlee ·
trogluddite wrote:
mwvdlee wrote: distance (hypot) between that coordinate and the current coordinate
speed = sqrt ( (normx-oldx)^2 + (normy-oldy)^2 ); (hypoteneuse of a triangle)
oldx=normx; oldy=normy;
Would probably be just as effective without the square root though - in physics, the forces would be proportional to mass*velocity squared (the momentum)
If you take any individual instance it might, but the forces need to be relative to eachother.
Anyway, one could always put it to a practical test and listen to the difference 🙂 The stream hypot we've already got as the current "Force", and the memory thing is even easier.
By the way, take the difference between two of these speeds and you've got acceleration/deceleration (yeah yeah, it should be velocity, not speed, but it's practically the same in our case.). Don't know if that in itself is useful for audio production, but it'd be easy to try. At the very least you could add some scientifically looking graphic bling 😉 Add centripetal (("mass" * (speed^2)) / stretch) and reactive centrifugal (-centripetal) forces too and it would look like we're doing really complex physics 😀 Ooooh, us be brainy persons!
Come to think of it; you could use the angle of the ball (or perpendicular) as input for something as well. Wonder what would happen if you took the angle and directly transformed it into a wave shape, like drawing a sine.
Enough stuff still to be explored, I guess 🙂
mwvdlee ·
+ Ball speed and acceleration (both using grid units as unit for length). Not hooked up to any audio, just two annoying displays.
I started out doing all kinds of code stuff, but it turns out I was way overthinking the problem and it's actually quite easy. Having a one-sample delay is too small; float rounding gets in the way. too long a delay means you get to see results way too late. At samplerate/50, it should be an unnoticable delay visually.
It's trivial to do the same calculations for the mouse pointer, but who would want that? :P
*edit: Just noticed. I jumped ahead of myself and renamed the old Force to "Centrifugal". This is wrong, it merely calculates the radius needed to calculate centrifugal. Please correct this for 0020 🙂
infuzion ·
stw wrote: @infuzion: You deleted the voice active on double left click. Was that for special reason?
It was redundant & confusing:
1) The bool-Out is labeled "LMB down", but the LMB Down primitive actually turned it off.
2) The old version had Drag also turn it on, so that makes LMB pointless, but that does not matter since
3) I simplified to LMB down = on, LMB up = off.
Sorry, I did not mean to step on people's toes, just wanted more accuracy.
stw ·
infuzion wrote: Sorry, I did not mean to step on people's toes, just wanted more accuracy.
Oh, no problem mate. I'd just asked because i wanted to avoid any mouse troubles as discussed earlier in this thread.
Nevertheless i like the feature to keep the sound active without pushing the button all the time.
I already got a tendinitis in my trigger finger... 😉
mwvdlee ·
stw wrote:
infuzion wrote: Sorry, I did not mean to step on people's toes, just wanted more accuracy.
Oh, no problem mate. I'd just asked because i wanted to avoid any mouse troubles as discussed earlier in this thread.
Nevertheless i like the feature to keep the sound active without pushing the button all the time.
I already got a tendinitis in my trigger finger... 😉
Woohoo!
More excuses for more options!
More buttons!!!
Speaking of which; I have an issue with the default boolean switch; on the black background it's hard to see if it's set left or right. Besides; which side is on and which off anyway? Perhaps somebody can come up with a novell on/off switch and/or label that works on black background?
stw ·
mwvdlee wrote: Speaking of which; I have an issue with the default boolean switch; on the black background it's hard to see if it's set left or right. Besides; which side is on and which off anyway? Perhaps somebody can come up with a novell on/off switch and/or label that works on black background?
I consider the whole knob switch and adjustment stuff as temporary.
mwvdlee ·
stw wrote:
mwvdlee wrote: Speaking of which; I have an issue with the default boolean switch; on the black background it's hard to see if it's set left or right. Besides; which side is on and which off anyway? Perhaps somebody can come up with a novell on/off switch and/or label that works on black background?
I consider the whole knob switch and adjustment stuff as temporary.
So... any ideas what you'd like as final?
stw ·
mwvdlee wrote:
stw wrote:
mwvdlee wrote: Speaking of which; I have an issue with the default boolean switch; on the black background it's hard to see if it's set left or right. Besides; which side is on and which off anyway? Perhaps somebody can come up with a novell on/off switch and/or label that works on black background?
I consider the whole knob switch and adjustment stuff as temporary.
So... any ideas what you'd like as final?
Didn't thought much about it. I'm more involved in trying new functions right now. Anyway i'm no GUI mastermind. So maybe more talented fellows could try something? 😍
infuzion ·
stw wrote:
mwvdlee wrote: Speaking of which; I have an issue with the default boolean switch; on the black background it's hard to see if it's set left or right. Besides; which side is on and which off anyway? Perhaps somebody can come up with a novell on/off switch and/or label that works on black background?
I consider the whole knob switch and adjustment stuff as temporary.
Yea, better to not worry about until the final passes. But if the ball is in your or my court, I prefer glow buttons until final:
NI Stuff
Knobs, Switches and Stuff
infuzion ·
stw wrote: Oh, no problem mate. I'd just asked because i wanted to avoid any mouse troubles as discussed earlier in this thread.
Nevertheless i like the feature to keep the sound active without pushing the button all the time. I already got a tendinitis in my trigger finger... 😉
I'm thinking that since this project is becoming more multi-purpose (effect & an odd lead), there should be some configuration to what mouse buttons do what, & assigning keyboard &/or MIDI to certain things also.
mwvdlee ·
Just playin' around with ideas for tabs.
The rotated button label was hard to get right.
stw ·
mwvdlee wrote: Just playin' around with ideas for tabs.
The rotated button label was hard to get right.
Really nice. Serves the "bally" character of the project very well.
mwvdlee ·
While at the gym again (I train about 5 x 1½ hour a week), I thought about how to draw the type of triangles I'd need for the tabs I wanted.
So here's the result:
It's pretty obvious really, though it was a lot of trial and error and it took me a trip to the garden store to figure out how to tie up some loose ends.
Just remember; in computer graphics there are no lines, just very thin rectangular boxes.
Those of you who've followed the Convex Polygon topic should immediately recognize that using lines like this would be a much more efficient way of doing regular filled convex polygons with 5 or more sides. For 4 sides you can go even faster.
*edit: Just finished my regular filled polygons. Here's a link to the old topic reopened: Convex filled polygons
MegaHurtz ·
I wanted to do something with it but im not good enough to find it 🙂
Can you make it so that it pops up faster, and dissipates its bouncing energy faster.
say over 6 frames or so..
MegaHurtz ·
Found it 🙂
MichaelBenjamin ·
yes this is inside the swing module, could be done outside for better clarity.
stw ·
small update:
added a "show Midispot" feature. No you can see what you'll play. Also nice to see the ball swinging into the hole. 🙂
That drawloop thing drove me nuts.
trogluddite ·
stw wrote: That drawloop thing drove me nuts
Just done a small edit to set the draw loop up correctly - the comparison etc. were not needed, the Draw Loop only needs to get a ReDraw trigger from its left hand side for it to create all of the looped parts.
P.S. The MIDI 'holes' graphics could ideally do with feeding into the 'VA Cache' of the main 'arena' - that would save a few more GUI CPU cycles - but now i must go to bed!
mwvdlee ·
trogluddite wrote: P.S. The MIDI 'holes' graphics could ideally do with feeding into the 'VA Cache' of the main 'arena' - that would save a few more GUI CPU cycles - but now i must go to bed!
The Arena VA Cache is background, the holes are foreground so if you wanted to cache it, it'd have to go on a foreground layer. Considering the (lack of) size and complexity of the holes though, I doubt it's going to improve performance significantly, but it should be very easy to try and compare 🙂
Anyway, I noticed a problem with the tabs. They were redrawing at 100 ticks. Not much of a problem when the tabs were closed, quite more noticable a problem when open. So I've included a check that only redraws if pixel position has changed.
trogluddite ·
mwvdlee wrote: The Arena VA Cache is background...
...very easy to try and compare
Added caching locally to the midi 'holes' - and was rather stunned. Made the animation far smoother - mind you, I've been testing on my little netbook with its weedy Atom CPU and built in GPU.
MegaHurtz ·
Somwhere along the line it got a bit slow. and something sounding like peakducking came in the place of the weew sound when it gets thrown. May be a nice bet to have it bounce along the edges, since these are straight it`s the
opposite direction, of the angle of attack.
stw ·
trogluddite wrote:
mwvdlee wrote: The Arena VA Cache is background...
...very easy to try and compare
Added caching locally to the midi 'holes' - and was rather stunned. Made the animation far smoother - mind you, I've been testing on my little netbook with its weedy Atom CPU and built in GPU.
Thanks for correcting that loop redraw trog.
However i think that VA caching should be tested a bit more. I get some strange results with CPU load. With VAcache the task manager shows a decrease of 10-20%. Which seems a bit too much for me? At the same time SM (Audio-)CPU meter shows an increase from 7.5% to 8-12%.
trogluddite ·
stw wrote: strange results with CPU load
Hmm, I wonder how much is down to machine architecture then.
On my little Atom netbook, the 'Audio' CPU meter shows no difference between cached and uncached versions (about 25%). Task manager is at about 65% for the cached version (with nice smooth animation) and the uncached version shows about 75% - but uncached gives one CPU core maxed out, and the animation is very lumpy (I'd estimate 5-10 frames per sec, with occasional half-second freezes).
Of course that's a little unfair - I doubt many people would be running VSTs on an Atom CPU - and having one core so near to max is probably skewing the results as it is close to the 'tipping point' of 'no-can-do'.
Having said that, it is surprising how much you can gain using a bitmap cache - even redrawing tiny areas can cause a lot of GUI/Green activity when multiple layers/objects overlap, as it's not just the layer connected to the ReDraw that gets redrawn (see this thread). I have a hunch that it makes draw loops recalculate every iteration - how else would it know which iteration overlapped with any given draw area?
stw ·
minor update: Implemented trogluddites "Trigger on match" to trigger the bumpers.It's now way more accurate and audio and visuals are synced now.
trogluddite ·
Here's some more tiny tweaks...
I realised that the ball was looking just like a sunburst gradient - so replaced the draw loop (yuck) with a gradient. Also tidied the area calculations up a bit to avoid too many conversions from Area-Float-Area - and added switching so that the area covered by the 'string' is not redraw if it is turned off.
mwvdlee ·
trogluddite wrote: I realised that the ball was looking just like a sunburst gradient - so replaced the draw loop (yuck) with a gradient.
That's just one of those things that are so blatently obvious that nobody even noticed it. Thanks for spotting it 🙂
I do prefer it a bit softer, as it was meant to be a dropshadow, but that's a matter of taste.
The ball no longer seems to move though 😮
trogluddite ·
Oops - saved it with the ball 'untethered' - you just need to R-Click. (maybe unselect/select ASIO too in case saving with my driver has confused it!)
infuzion ·
Cool guys!
Do you have a time table to be done sometime...?
stw ·
infuzion wrote: Cool guys!
Do you have a time table to be done sometime...?
I'm involved in another project which i'll want to publish ASAP. So i'm working on this randomly.
But i like your idea of turning the finished project into a charity donationware plugin. So i'll try to do as much as i can to finalize it maybe in the next two or three months.
infuzion ·
stw wrote:
infuzion wrote: Cool guys! Do you have a time table to be done sometime...?
I'm involved in another project which I'll want to publish ASAP. So I'm working on this randomly.
But i like your idea of turning the finished project into a charity donationware plugin. So I'll try to do as much as i can to finalize it maybe in the next two or three months.
OK, a Christmas gift 🙂
I was planning to reduce it down to something more simpler. Maybe the simple version will be free, & the deluxe for donation only... or maybe I'll make my own deluxe version... not sure now I'll have to see when you are done.
mwvdlee ·
infuzion wrote: Do you have a time table to be done sometime...?
What is this "time table" think you speak of?
I've never heard of it, but it sounds interresting.
😉
infuzion ·
mwvdlee wrote:
infuzion wrote: Do you have a time table to be done sometime...?
What is this "time table" think you speak of? I've never heard of it, but it sounds interresting. 😉
SM seems to attract many with ADD 😉
Andrew J ·
infuzion wrote:
mwvdlee wrote:
infuzion wrote: Do you have a time table to be done sometime...?
What is this "time table" think you speak of? I've never heard of it, but it sounds interresting. 😉
SM seems to attract many with ADD 😉
Not to mention OCD... 😀
infuzion ·
Andrew J wrote:
infuzion wrote:
mwvdlee wrote: What is this "time table" think you speak of? I've never heard of it, but it sounds interresting. 😉
SM seems to attract many with ADD 😉
Not to mention OCD... 😀
Yes, what a bad combo!
Mo ·
This look very cool and sounds sick. 🙂
-Now gravity would be a nice addition. 😉
mwvdlee ·
Mo wrote: This look very cool and sounds sick. 🙂
-Now gravity would be a nice addition. 😉
Just increment the y coordinate with a constant amount for every sample in stream (so samplerate corrected).
The amount would be according to taste as it would depend on weight in reality.
trogluddite ·
mwvdlee wrote: Just increment the y coordinate
Gravity is an acceleration (or just a distortion of space-time!), so should be the velocity tht is incremented.
mwvdlee ·
trogluddite wrote:
mwvdlee wrote: Just increment the y coordinate
Gravity is an acceleration (or just a distortion of space-time!), so should be the velocity tht is incremented.
You're right. I guess this would take us into a direction where we're actually modelling physics instead of using tricks. Interresting to try and build a working physics model in S|M, but perhaps not where we'd want to go with this particular project.
trogluddite ·
He he,
trogluddite wrote: Instantly makes me think 'Physical Modelling'
(from the 1st reply to your initial post)
tor ·
Shit!
This is way cool 🙂
infuzion ·
Any thoughts about being almost done with this? I'd like to fork soon...
TIA
infuzion ·
Bug: Ball starts out in bad & noisy position.
stw ·
infuzion wrote: Any thoughts about being almost done with this? I'd like to fork soon...
TIA
I'm too busy to go on with this in the next weeks. 😕 But i'm still into it...
Wrote something here? To have a post removed or your name hidden, write to [email protected].