SnowMachines combined thread

Post Reply
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

SnowMachines combined thread

Post by snowglobe »

ChannelSurfer
Parambulator
ScaleSnapper
ScaleWalker (star of the show)
TargetPractice

latest greatest

2016 collection

updates
---------
===== latest greatest ==============
2023-04-11
* updated all machines to .NET 4.8
* replaced stupid demo files that expected you to use soundfonts. smdh o\
* ScaleWalker: might be a lot less likely to let Buzz crash it
* ScaleWalker: arp rules are totally revamped -- much more robust (and much more inscrutable?)
If your old bmx used arp rules, it WILL be borked
* ScaleWalker: demo/tutorial bmx is hopefully more likely to be helpful -- be sure to check out the Set Annotations
* Parambulator added, because why not

===== 2016 collection ==============
2016-9-7 ** replace SnowGlobe ScaleWalker.NET.dll and Snowglobe ScaleWalker demo.bmx. Set Annotation window stays on top. Demo bmx -- better initial state for following tutorial annotation in Set#1
2016-7-16 ** replace SnowglobeCore, ScaleWalker and ScaleSnapper: bugfixes in scale handling system
2016-4-15 ** replace SnowglobeCore: bugfix for "index = n" selection mode
2016-3-6 ** ScaleWalker & SnowglobeCore: fixed recently broken auto-cut; update number in right corner of GUI; qwerty-midi now works when scale selection pop-up has mouse focus
2016-3-5 ** ScaleWalker & SnowglobeCore: peer rules
2016-2-28 ** ScaleWalker & SnowglobeCore: double-click to type in timing spec values for rows; note-off kills cycles immediately.
2016-2-21 ** ScaleWalker & SnowglobeCore: minor refinements in scale-matching, and a bugfix for stuck-note protection system.
2016-2-7 ** ScaleWalker - show/hide track controls All machines -- bug fixes and refinements
2016-2-1 ** ScaleWalker and SnowglobeCore -- rule highlighting
2016-1-24 ** ScaleWalker and SnowglobeCore -- switches, switch rules, activation requirements, timed commands
2016-1-14 ** ScaleWalker and SnowglobeCore -- snapping system refinements; bugfixes (threading conflicts could crash the machine)
2016-1-10 ** All machines - revised event management system; no more stuck notes when snapping to tick/bar in ScaleWalker
2015-12-18 ** ScaleWalker - see http://forums.jeskola.net/viewtopic.php ... 641#p10641
2015-11-8 ** repaired velocity system so out = in; changed kb input to use scan codes (so that, for example, QWERTZ should automatically behave like QWERTY)
2015-8-1 ** see this post.
2015-7-31 ** All machines. Revised the new bounding system to include input bounding as well as output and also allow independent response to notes < low bound vs. notes > high bound
2015-7-26 ** All machines. Many new features. See this post for details.
2015-7-16 ** ScaleWalker.dll: embiggened rules
2015-7-13 ** SnowglobeCore.dll : fixed scrollview jumping issue in a drag-and-drop utility
2015-7-11 ** SnowglobeCore.dll : Random-from-Range wasn't working for Global Note
2015-6-28 ** ScaleWalker: Snap MIDI In to Tick option, interface bugfixes
2015-6-10 ** ScaleWalker bugfix: previous update caused Selection Mode to be reset to static when reloading a saved song.
2015-5-2 ** ScaleWalker: rows easier to select; hold ctrl key to adjust values by 1; mouse wheel works with sliders; prevent accidental random-from-range; enabled recording of slider adjustments to pattern. ALL MACHINES: minor bugfixes.
2015-4-27 ** Scalewalker: new parameter - staccato/legato; gui changes - per-track sliders, added cc and program change to main window [demo]
2015-4-19 ** ScaleWalker: program change and cc rules and utilities (also, save set to disk and import set from disk) [demo]
2015-4-16 ** ScaleWalker bugfixes
2015-4-10 ** ScaleWalker: new rule type - "Scale Rule" useful for changing scale and/or tonic
2015-2-15 ** scale provider is restored at song load; MIDI CC ignored (for now)
2015-1-21 ** bugfixes
2015-1-18 ** ScaleWalker: new option -- 'Channel n activates Set n' (also, track trigger now activates all rules, including ones associated with other tracks).
2015-1-16 ** Qwerty Manager (just Scalewalker for now, but eventually all machines): right click key to remap. 'End' key = Hush, Caps Lock = Hold
2015-1-15 ** Scalewalker: values can be adjusted with mousewheel; null vector for gapping in arp rules; small bugfixes
2015-1-13 ** Bugfix: trigger auto-cut now works. All documentation updated.
2015-1-12 ** ScaleWalker: revised GUI.
2015-1-10 ** ScaleWalker release. All machines have been revised internally to some degree. All documentation needs updating.
2014-12-12 ** new feature (all machines) option to have notes be "Random-from-Range"
2014-12-11 ** bugfixes
2014-12-8 ** (all machines) mess around with traversal direction from pattern when selection mode is sequential, sequential by n, or sequential n-sized groups (also, bugfixes)
Last edited by snowglobe on Thu Apr 13, 2023 7:08 pm, edited 59 times in total.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

All of them crashed once or twice while playing on qwerty keyboard. So i have found a way, to reproduce this quickly.
Create 16 Qsamos and Channel Surfer (the easiest to crash) for example. Check all machines and choose all outputs, then play some chords.

The other thing, choose highest octave in buzz by pushing "*", you can go to 11-th (?). Highest notes probably don't work, but playing them causes, that snowglobe core wants to say something :P

In this version, it is possible to hang notes (and dots) while playing.
If you click on the scales list in Scale Snapper, it selects scale before you see.

I can't wait, to test this new one ;)
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

rav wrote:All of them crashed once or twice while playing on qwerty keyboard. So i have found a way, to reproduce this quickly.
Create 16 Qsamos and Channel Surfer (the easiest to crash) for example. Check all machines and choose all outputs, then play some chords.
"crashed in Work() (unknown exception)" or sometimes "Access Violation"
Something is going haywire in the MIDI thread (but it's happening outside of my code, and unfortunately I'm out of ideas for anything I might be able to in my own code to prevent it from happening).

It's a pretty interesting situation. I have been able to produce a crash like this with a single qsamo and as few as four output channels selected. But never with three or fewer, even after banging away for a long time at QWERTY or MIDI controller all while looping a pattern at 500 BPM/32TPB.

When MIDI input is taken out of the equation, everything seems 100% rock-solid. 500 BPM/32TPB tests with all kinds of crazy stuff going on in patterns? 0 crashes in my tests (but I have faith in you, rav)
The other thing, choose highest octave in buzz by pushing "*", you can go to 11-th (?). Highest notes probably don't work, but playing them causes, that snowglobe core wants to say something :P
Yes, unlike other DAWs, Buzz goes to 11.
(this is an easy fix)
In this version, it is possible to hang notes (and dots) while playing.
If you click on the scales list in Scale Snapper, it selects scale before you see.
haven't gotten around to looking at this one yet. (your testing is amazing - hope you'll keep it up!)
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

update bump.
I think I have solved the threading issue after all.
11th octave issue should be taken care of as well.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

snowglobe wrote:When MIDI input is taken out of the equation, everything seems 100% rock-solid. 500 BPM/32TPB tests with all kinds of crazy stuff going on in patterns? 0 crashes in my tests (but I have faith in you, rav)
I knew about it, that was my first idea to reproduce crash :P
snowglobe wrote:I think I have solved the threading issue after all.
11th octave issue should be taken care of as well.
It seems to be ok now, nice.

If you set up "MIDI Input Channel" to all on a synth, then it can be played by any snowglobe machine without choosing it on the list, and also without any channels in and out selected (for Channel Surfer).

Graphical feedback in Channel Surfer is broken while channel filtering is on. Global note column doesn't work in Channel Surfer too.
Coin toss works only, if triggered in pattern.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

new feature (all machines): option to have notes be "Random-from-Range"
video

'RfR Bound' looks like a regular Note column (...) in pattern view. Use it to set a lower or upper bound relative to whatever notes are fired from the Note column. This creates a range of values from which one will be selected randomly.

Once a value is entered into the RfR Bound column, all output from notes entered into the track will be Random from Range. To turn off RfR functioning and return to deterministic notes, enter an 'Off' into the RfR Bound colum.

Code: Select all

                        RfR   Note             Possible Outputs
                        ----  -----         ----------------------------
                        C-0    E-4          any note from C-0 to E-4
                        C-9    E-4          any note from E-4 to C-9
                        ...    C-8          any note  from C-8 to C-9
                        Off    C-3          C-3
                        ...    B-4          B-4
                        B-4    ...          nothing
                        ...    B-4          B-4
                        C-1    ...          nothing
                        ...    C-9          any note from C-1 to C-9
rav wrote:If you set up "MIDI Input Channel" to all on a synth, then it can be played by any snowglobe machine without choosing it on the list, and also without any channels in and out selected (for Channel Surfer).
I believe what you are seeing here is normal behavior of *any* machine when Master Keyboard Mode = true and Parameter Window > Keyboard MIDI = true.

Edited to add: If you test with Scale Snapper you can tell that *two* notes are being sent - one is the un-processed note (faux MIDI in) and one is the scale-snapped note. You can even load an old machine like Arguelles Alpha that doesn't even speak MIDI, and you'll get sounds out of any machine that has MIDI In Channel = All when you do QWERTY.
Graphical feedback in Channel Surfer is broken while channel filtering is on.
Seems to be working here.
Coin toss works only, if triggered in pattern.
Also seems to be working here. But anyway this really is more of a pattern thing than a slider thing, so maybe i should just dump the slider.
Global note column doesn't work in Channel Surfer too.
fixed.
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

Maybe honor midi channel filters (on) doesn't work in ScaleSnapper.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

tinga wrote:Maybe honor midi channel filters (on) doesn't work in ScaleSnapper.
I couldn't reproduce, but anyway I'll be releasing re-worked machines probably within 24 hours of posting this, so hopefully the problem will be resolved for you.

Meanwhile, here is a little taste of ScaleWalker in action (possibly NSFW toward the end - sounds like naughty language).
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

OK, ScaleWalker is up now, with the beginnings of a tutorial included in the demo bmx - see the blah blah screen to get started.

(if you don't already have it, get the General User sound font v.144)
(same for VST/i version of Jeskola XS-1)

(internal workings of other machines have been revised, and documentation is out of date).

EDIT: added a Qsamo to the demo bmx that can be used if the XS-1 thing is just too much trouble.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

Update: Revised GUI
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

tutorial walkthrough vids

Part I
Part II
Last edited by snowglobe on Tue Jan 13, 2015 2:51 pm, edited 2 times in total.
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

Waouh! amazing tool, thanks, so many possibilities, a Steve Reich music generator, but not only of course, as you said, it's a synthesis of several peer machines, we have to read carefully the help.
:dance: :dance:
works fine here 8-)
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: SnowMachines combined thread

Post by esp81 »

Scalewalker looks really nice, great job on the interface! :dance:

Is there any way to immediately cut previous sequence when playing a new note? also it opens built-in pattern editor instead of pattern xp?
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

esp81 wrote: Is there any way to immediately cut previous sequence when playing a new note?
By design, it does not auto-cut when activation is via MIDI in (including param window QWERTY-MIDI), but it should do so on a track-by-track basis when activating via pattern (assuming the track's Cut Mode is set to auto).

If you mean that you'd like any new note or trigger to cut off prior output, i.e., to only have one cycle playing at a time, i s'pose could consider adding that as a switch.
also it opens built-in pattern editor instead of pattern xp?
Hmm. I see that I wasn't paying attention and saved the demo bmx while using Chahur's PXP mod, so maybe that came into play?
tinga wrote:we have to read carefully the help.
Documentation is now updated (all machines).
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: SnowMachines combined thread

Post by esp81 »

Oh it does load pattern xp by default, just checked...everything is working fine so far. I have to admit I'm pretty blown away by the possibilities this machine is capable of, now that I'm starting to understand how it works! :o
User avatar
Buzztler
Posts: 222
Joined: Sat Jan 21, 2012 2:54 pm
Location: Faraway but near enough

Re: SnowMachines combined thread

Post by Buzztler »

Indeed ScaleWalker is a machine with a whole bunch of possibilities in creating tracks, sounds and weired noises ... I just want to ask one question combined with a request: Please Snowglobe, is it possible for you (without a lot of efforts) to implant the different international keybord mappings into Lucky! ScaleWalker e. g. not only QWERTY but also QWERTZ? Or perhaps it is easier to program a possibility to switch the keyboard keys completely free in the "QWERTY-Editor", it already looked as it would be possible in the first video you uploaded (showing the first test of Lucky!)?
I tried to get QWERTZ working by in-house means, but somehow it didn't work at all, so it's a little vexing pressing the german keybord layout "Y" and get A4 and not C3 ...
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

Buzztler wrote:not only QWERTY but also QWERTZ? Or perhaps it is easier to program a possibility to switch the keyboard keys completely free in the "QWERTY-Editor"

==================================================================
EDIT: After reviewing your post, I realize I missed the point, which is that your QWERTY-MIDI is out of whack.
OK, I'm on it.
==================================================================
First, I'll point out that the QWERTY Manager is not an integral part of ScaleWalker - I was only using it in the demo videos as a way to show key presses. So maybe just ignore it for now? (unless you want to try out what happens when changing MIDI Channels ... )

But, yeah, I actually do have plans to make the QM customizable - ability to decide what MIDI note gets sent when you press a particular key, move icons around wherever you want them, maybe even change the background image. Also, an option to send the MIDI out to all machines (right now it just gets processed by ScaleWalker), along with things like being able to use the numpad numbers and function keys to send program changes or CC messages, as well as machine-specific options like switching tabs, etc. Basically let you use your qwerty kb like a programmable 100-button MIDI controller.

Not sure how soon all that's gonna happen, though.
User avatar
magmavander
Posts: 688
Joined: Tue Nov 22, 2011 5:22 pm
Location: France
Contact:

Re: SnowMachines combined thread

Post by magmavander »

Just begin to play with it and wow, this is an incredible tool, very impressive. This + the chahur's new PatternXP makes 2015 a beautiful new year :dance:

Thanks!!!!!!

EDIT :
And I forgot the patternist which is also something brilliant and useful :mrgreen:
User avatar
Buzztler
Posts: 222
Joined: Sat Jan 21, 2012 2:54 pm
Location: Faraway but near enough

Re: SnowMachines combined thread

Post by Buzztler »

Thank you very much in advance Snowglobe ... I'm looking forward to all that stuff and hope ScaleWalker will be still compatible with XP somehow (I get error messages referring to the failure that some button cannot be found in XP's win32-folder) but the machine seems to work like it should. A pitty I cannot use the patternXPmod, it shows up but almost nothing happens if I press the buttons ... anyway ... thx a lot for all your efforts to make your machines better and better ...
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

Update: right-click keys in QWERTY Manager to remap. (QWERTZ, etc) Also, Escape key = Hush, Caps Lock = Hold toggle.

Until I work out a preference-saving system mapping adjustments will need to be re-done each use (or better yet, save a template).

Edit: crap, Escape -> hush only works if the QM is open, otherwise Buzz uses key press to hide the GUI. Guess we'll use 'End' instead.
Post Reply