Page 8 of 12

Re: SnowMachines combined thread

Posted: Thu Jan 14, 2016 11:39 am
by snowglobe
AndersBrontosaurus wrote:Wouldn't it be possible to toggle hold/hush with the same key?
I think two separate switches is the way to go (example: you use Hold to get a loop going in one set and then switch to a different set to riff along with it; you want to be able to toggle the Hold off without killing the loop)

Re: SnowMachines combined thread

Posted: Thu Jan 14, 2016 11:20 pm
by rav
snowglobe wrote:
rav wrote:Snap to tick is working great now. ScaleWalker crashed 2 times in a row at the beginning while playing with snapping option (second time just after restarting buzz and sending first note to machine), but i can't reproduce this.
Wow, I finally got a crash to happen after slamming away at it for about 5 minutes. Seems like it was a threading conflict, and I think I've got it sorted.
Snap to bar equal 1 doesn't work right now.
Fixed.
It's working great now, thank you :)
snowglobe wrote:
It's not possible to hang out notes now, but snapping to bar doesn't work as good as before. Single notes are working ok, but when you trigger two or more there is huge probability to add delay to them, randomly from 0 to 1 tick away from the first note.
Wasn't really able to confirm this, but I have made some significant adjustments, so let me know if it seems improved now?
(I am surprised to find that I can occasionally sneak in grace notes between bars. If the snapping system is generally working pretty well I probably won't be fussed by the fact that it is not 100% nailed down).
I really don't know, too much updates :P
I found something about those delays. In fact it's not random and it's not delay at all. There are notes which are triggered just after the snap grid, snapping doesn't work on those. This occurs with every single note triggered in between the 1st tick after snap grid. Try playing with snap to bar equal 2 with very slow BPM to see this.
Interesting that it's not the case with snap to tick and snap to bar equal 1.
snowglobe wrote:
Checkbox state for parameters: snap MIDI in to tick, snap MIDI in to bar and follow set changes are not saved.
Targets order after sorting or moving by hand are not saved too.
Was sort of just not worrying about this, but I suppose I can go ahead and put them on the TODO.
I'm sure, that targets order saving worked some time ago. That was pretty essential to Target Practice machine.

Re: SnowMachines combined thread

Posted: Fri Jan 15, 2016 1:48 am
by snowglobe
rav wrote:I found something about those delays. In fact it's not random and it's not delay at all. There are notes which are triggered just after the snap grid, snapping doesn't work on those. This occurs with every single note triggered in between the 1st tick after snap grid. Try playing with snap to bar equal 2 with very slow BPM to see this.
Interesting that it's not the case with snap to tick and snap to bar equal 1.
I tried bpm = 50 and bar = 2, and it seemed fine. I'm not clear on what you're saying, but I want to be -- it sounds like you're onto something interesting (and just to be sure, even though I guess you do understand this -- the snapping will not work in a backward direction; if a note is 'late' it gets delayed until the next snapping spot).

EDIT: after playing with it some more, I wonder if you're talking about the 'grace note' business I mentioned earlier. The only reason I am coming up with as to why this is possible is that the event system uses locking to prevent threads from fighting over objects in the queue, so my guess is that when two midi notes are received in rapid succession, one can get locked out with a small delay.

EDIT 2: Hold up! I think I've just come up with a better way to do the snapping. Be back tomorrow with yet another version :mrgreen:
That was pretty essential to Target Practice machine.
Good point (I've been so focused on improving ScaleWalker that I stopped thinking much at all about the other machines)

Re: SnowMachines combined thread

Posted: Fri Jan 15, 2016 10:08 am
by snowglobe
New version (SnowglobeCore and ScaleWalker) with probably best snapping results so far is now available for testing. (rav, I'll be really curious to know if you still see the thing you were talking about with bar = 2 at low bpm, but if you're burning out on testing I'll understand :lol: )

Re: SnowMachines combined thread

Posted: Fri Jan 15, 2016 10:48 pm
by AndersBrontosaurus
snowglobe wrote:
AndersBrontosaurus wrote:Wouldn't it be possible to toggle hold/hush with the same key?
I think two separate switches is the way to go (example: you use Hold to get a loop going in one set and then switch to a different set to riff along with it; you want to be able to toggle the Hold off without killing the loop)
So very true.

I do so much look forward to try out the new version.

Re: SnowMachines combined thread

Posted: Sat Jan 16, 2016 5:49 pm
by rav
snowglobe wrote:New version (SnowglobeCore and ScaleWalker) with probably best snapping results so far is now available for testing.
You are right, now everything works fine :D
snowglobe wrote:rav, I'll be really curious to know if you still see the thing you were talking about with bar = 2 at low bpm
Well, I thought this slow BPM was the simplest way to try it on yourself. I was wrong.
For the main test, I was feeding ScaleWalker with MIDI from other MIDI machine (by MIDI send) triggered by buzz pattern. I have used also oscilloscope plugin, so this is probably why i was talking about seeing this instead of hearing...
snowglobe wrote:if you're burning out on testing I'll understand :lol:
Testing is pretty cool ;)


After more time spended with ScaleWalker i lack something more with MIDI CC rule. Random from range value to CC would be awesome, something like in chord rule. Please consider this on your TODO list ;p

Re: SnowMachines combined thread

Posted: Sat Jan 16, 2016 6:16 pm
by snowglobe
rav wrote:
snowglobe wrote:New version (SnowglobeCore and ScaleWalker) with probably best snapping results so far is now available for testing.
You are right, now everything works fine :D
:dance:
I have used also oscilloscope plugin
:o Now that's what i call testing!
Random from range value to CC would be awesome, something like in chord rule. Please consider this on your TODO list ;p
Added to TODO (which, btw, has some Really Big Surprises (tm) on it)

Re: SnowMachines combined thread

Posted: Sat Jan 23, 2016 11:00 pm
by AndersBrontosaurus
Sweet!
New version is awesome! Snaps perfectly and I haven't managed it to get into automatic hold either. Brilliant!

:dance:

Re: SnowMachines combined thread

Posted: Sun Jan 24, 2016 11:53 am
by snowglobe
new version 2016-1-24

introducing switches, switch rules, timed commands, and activation requirements

[switches]
  • the GUI now has 26 toggle buttons (switches A-Z) across the bottom
    switch states can be flipped between on/off by: mouse click, 'switch toggles' parameter, switch rules
[switch rules]
  • new conversion option in the right-click menu for rules ; each switch can be set to 'on', 'off', or 'toggle', or the 'randomize all' setting will scramble all the switch states each time the rule is activated
[timed commands]
  • up until now commands like program change, cc, etc have been fired immediately when a row is activated (regardless of where the command rule is placed in a row); now you have a right-click option on rows to toggle 'timed commands' on or off (off by default). When toggled on, a command is factored into the timing calculations exactly the same as a null note rule (i.e., a rest/gap). Instead of firing immediately, the command is fired at the moment a note in that position would have been. This is useful for doing tricks with switch rules when activation requirements are used.
[activation requirements]
  • Requirement editing is via right click and can be applied to individual rules and/or to rows as a whole. When requirements are not met for a row, the row is not included in the cycle set, so changing a switch state, for example, will have no effect on an already playing cycle. When requirements are used on rules, however, they are re-checked each cycle, so that changing switch states can alter cycles that have already been activated.
    switch requirements are checked in 'logical and' fashion, meaning that if you have switch requirements set to AFD[HZ] , switches A F and D must all be on, and switches H and Z must be off or the rule or row will not be processed.
    You can also set activator requirements: note (and/or trigger), velocity range, channel, track. These give ScaleWalker capabilities similar to IX Split (note that activator properties are not mutable in the way that switch states are). Activator requirements are interpreted in 'logical or' fashion; if you set the trigger requirements to C4 D7 Trig, for example, then *any* of those will satisfy the requirement. [EDITED TO CLARIFY: requirements within an activator category are are handled this way. Requirements from different categories are treated in 'logical and' fashion. For example, if your requirements are A7 B8 tr:0 the rule or row will be processed for an activator note of either A7 or B8, but only if the A7 or B8 was sent via track 0]
WARNING: THIS VERSION MAY MANGLE THE PATTERN VIEW FOR EXISTING SONGS. I believe it is fully backward compatible, but it might be necessary to go into PXP column settings and enable all columns in order to clean up display weirdnesses in existing patterns.


video
bmx

Re: SnowMachines combined thread

Posted: Sun Jan 24, 2016 11:04 pm
by AndersBrontosaurus
Bwaaah!
This has now gone to far! Love the idea. Fantastic. Looks awesome. Look forward to try!

Re: SnowMachines combined thread

Posted: Mon Jan 25, 2016 1:44 am
by tinga
Snowglobe wrote:introducing switches, switch rules, timed commands, and activation requirements
Fantastic, I try it, perfect, enormous, offer new stuff for live or compo, :dance:

A small bug on my laptop I7 win10, on global track page (not the other individual track pages, just the global) if i move a slider, an error message appears, but no crash.
Thanks for this very nice update.

Re: SnowMachines combined thread

Posted: Mon Jan 25, 2016 3:28 am
by snowglobe
tinga wrote:A small bug on my laptop I7 win10, on global track page (not the other individual track pages, just the global) if i move a slider, an error message appears, but no crash.
Ah, yeah, thanks - should be fixed now if you want to re-download.

Edited to add: This was due to renaming some parameters, and I just noticed that those same name changes did actually cause an issue with backward compatibility (broken machine demos, for example); I think I've resolved all that by reverting the names back to what they were before.

Re: SnowMachines combined thread

Posted: Mon Jan 25, 2016 9:47 am
by snowglobe

Re: SnowMachines combined thread

Posted: Mon Feb 01, 2016 4:17 am
by snowglobe

Re: SnowMachines combined thread

Posted: Tue Feb 02, 2016 12:59 am
by snowglobe
update 2016-2-1 - rule highlighting

Re: SnowMachines combined thread

Posted: Wed Feb 03, 2016 2:18 am
by elekt
Thank you for sw and the videos, I'm really getting a lot of out of it now.

Re: SnowMachines combined thread

Posted: Sun Feb 07, 2016 11:06 am
by snowglobe
Update 2016-2-7

--ScaleWalker--
rearranged gui, added track controls show-hide button to allow more screen real estate for rows

--All machines--
Improved protection against stuck notes
Target order after sorting or moving by hand saved/restored on load

Re: SnowMachines combined thread

Posted: Tue Feb 09, 2016 9:56 pm
by Klangkulisse
Hey Snowglobe, your constantly work is amazing. Thank you !

Re: SnowMachines combined thread

Posted: Thu Feb 18, 2016 11:28 pm
by mridlen
Is there a way to make it respect the MIDI note-off instead of cycling through the whole loop when I let off?

Re: SnowMachines combined thread

Posted: Thu Feb 18, 2016 11:48 pm
by snowglobe
mridlen wrote:Is there a way to make it respect the MIDI note-off instead of cycling through the whole loop when I let off?
Currently no, but elekt was also asking about this, so I have been thinking about it already and have some ideas. One relatively easy way for me to make it available as an option would be to add a 'loop killing off' to the existing trigger parameter.