New machine: Snowglobe Target Practice

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

New machine: Snowglobe Target Practice

Post by snowglobe »

requires build 1498+
zip file now includes: Channel Surfer and Scale Snapper
be sure to replace _all_ files when updating

download

updates
2014-12-6B ** toggle target machines on and off from pattern
2014-12-6 ** rearrange targets via pattern, global note, global trigger, track trigger (suggestions welcome for what the track triggers do)
2014-11-27 ** sequential n-sized groups mode; rearrange targets via drag-drop and alpha-sort options
2014-11-26 ** probabilistic reset for sequential counter, bugfixes

video
Image
**************************
Snowglobe Target Practice
**************************
Tagline: "Line up your targets and fire notes at them with whatever degree of accuracy your little heart desires."

Caution! Until this line disappears, consider this a (possibly buggy) beta release (so might be subject to major revisions without regard to considerations of backward compatibility).

<insert standard disclaimer about free software here>

Drop SnowGlobe TargetPractice.NET.dll and SnowglobeCore.dll in your Generators folder.

No audio or peer output, just MIDI.

Nothing to connect. Create a 'target pool' by choosing one or more machines from the list (right-click anywhere in the list for show-hide options).

Fire notes via pattern and/or use notes from MIDI-in.

All input via Midi in is processed using global settings.

Each track parameter can obey its corresponding global setting or implement track-specific values.

Hush button sends an all-notes-off message to all targets in the pool.
Hold button prevents note-offs from being sent ('Sustain' was too long for the space ;p).

---------------------------------------------
Parameters and Settings
---------------------------------------------

==Global Target Selection Mode==
*All -> output will be sent to every selected target
*Random Single -> one target will be selected at random
*Random Multi -> one or more targets will be selected at random
*Sequential -> step through selected targets one-by-one as notes are fired/received
*Sequential by n -> step through targets n-by-n
*Take exactly n -> randomly choose exactly n targets from the pool
*0 to n -> randomly select between 0 and n targets
*1 to n -> randomly select between 1 and n targets
*At least n -> randomly select between n and total number of targets available
*All but n -> subtract n from total number of targets and select the resulting number
*Use nth target -> hit only the nth target (# of top target is 0, not 1)

n-value: used by selection mode (if needed)
Reset Probability: percent-wise probability that the sequential counter will reset to 0.

== Honor MIDI Channel Filters ==
*On -> output will only be sent to a target if the channel is a match for the target's MIDI In Channel setting.
*Off -> MIDI In Channel settings are disregarded.

== Offsets, Humanization, and Global Channel ==
*Octave Offset -> transpose all output by specified amount
*Semitone Offset -> same as Octave, except at semitone granularity
*Velocity Offset -> boost or lower velocity of all output by the specified amount
*Velocity Humanization Range -> +/- range within which velocity might be randomly adjusted
*Default Track Velocity -> used by tracks with no explicit velocity settings or with velocity set 0
*Track Channel / Global Channel -> force MIDI out to a specific channel, to a random channel, or to "same as in" to use triggering note's channel

==Delay Stuff==
*Delay (amount) -> 0 to 255
*Delay Mode -> p=100%, p=90%, p=80%, p=70%, p=60%, p=50%, p=40%, p=30%, p=20%, p=10%, range 0 to value, use global
*Delay Unit -> subtick, tick, millisecond, beat/128, beat/64, beat/32, beat/16, beat/8, beat/4, beat/3, beat/2, beat, use global

== Track-Specific Settings Having no Global Counterpart ==
*Probability (0 - 100) -> percent-wise chance that current and subsequent notes on the track will fire
*Cut Mode:
1. auto -> new notes in the track cut off old ones
2. off all -> 'off' kills all notes currently sounding via track
3. off oldest -> 'off' kills the oldest currently sounding note
4. off newest -> 'off' kills the most recent note


Please direct any questions / report any bugs to snowglobe on the Buzz forum (forums.jeskola.net)
Last edited by snowglobe on Sun Dec 07, 2014 12:41 am, edited 13 times in total.
User avatar
IXix
Posts: 1113
Joined: Wed Nov 23, 2011 3:24 pm

Re: New machine: Snowglobe Target Practice

Post by IXix »

Looks like a cool tool. I don't really understand the params from watching the video but I'm sure a bit of playing around will make everything clear. Thanks SG. :dance:
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: New machine: Snowglobe Target Practice

Post by esp81 »

This looks interesting, nice interface design too. How does this differ from your midi manager device? I'm not exactly sure by watching the video what this things does.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

IXix wrote:Looks like a cool tool. I don't really understand the params from watching the video but I'm sure a bit of playing around will make everything clear. Thanks SG. :dance:
Alternative name: IX Split Jr, on Acid :-)
esp81 wrote:How does this differ from your midi manager device?
It's very similar, except now you're fiddling with a 'target pool' rather than a 'channel pool' (Edit: this machine will also let you do a wee bit o' channel shenanigans via the channel = 'random' option)

I considered rolling both into one machine, but keeping them separate = more modular approach, amiright? :-)
I'm not exactly sure by watching the video what this things does.
Comment theme detected.
What's going on in the video is that i am playing live while the simple pattern below loops over and over.
Image
Midi in is effectively on the global/gui 'track' (if you will), so the stuff i play live gets sent with target selection mode = 'Take exactly n' with n = 5
'Take exactly 5' means some random set of 5 out of the 8 selected machines is getting 'hit' per each note that TargetPractice receives via MIDI in
For the pattern, '1 to n' mode means each note in the track is hitting 1 or 2 machines out of the 8 selected (because the track's n-value is set to 2)
Toward the end of the video I fiddle with other target selection modes and n-values for the track.

So, Midi in is always processed with global settings, while at the same time each track can do its own thing in terms of target selection, channel, velocity, probability of a note playing, transposition, etc.
You could have a track set to always play a kick on a Matilde every quarter note. Another track could always play one of three snares. Midi in could be wildly randomized among machines, etc. etc.

I'll also take this opportunity to highlight something the video does not show at all: 'Cut Mode' for tracks.
'auto' is the Buzz standard behavior -- a new note on the track cuts off the playing note
'off all' means all notes will continue to sound until an explicit 'off' is fired, then all sounding notes will be cut

the other two modes can be used for sustain effects, sort of like layering multiple tracks together into one
'off oldest' means you can do things like

note_1_on
note_2_on
note_3_on
off_kills_note_1
note_4_on
off_kills_note_2
off_kills_note_3


'off newest' is similar:

note_1_on
note_2_on
off_kills_note_2
note_3_on
off_kills_note_3
off_kills_note_1
Last edited by snowglobe on Mon Nov 17, 2014 9:14 pm, edited 11 times in total.
User avatar
Joachip
Posts: 352
Joined: Mon Nov 21, 2011 7:21 pm
Contact:

Re: New machine: Snowglobe Target Practice

Post by Joachip »

Make sure you have buzz build 1498 or later, or you'll get the same error message I just got, because I'm a noob. :oops:
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

new params: delay (amount), delay mode, delay unit

delay modes: p=100%, p=90%, p=80%, p=70%, p=60%, p=50%, p=40%, p=30%, p=20%, p=10%, range 0 to value, use global
delay units: subtick, tick, millisecond, beat/128, beat/64, beat/32, beat/16, beat/8, beat/4, beat/3, beat/2, beat, use global

NOTE: be sure to update both Snowglobe TargetPractice.NET.dll *AND* SnowglobeCore.dll
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe Target Practice

Post by rav »

Great machine!
This delay features are awesome, thanks :)

I don't have too much time right now, to play with this a bit longer. Anyway, i found some things, which probably aren't working properly.
If you save file, where parameters window of this machine is open, then some or all machines from list will be unselected after reloading file. Global semitone offset doesn't work also.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

rav wrote:Great machine!
This delay features are awesome, thanks :)

I don't have too much time right now, to play with this a bit longer. Anyway, i found some things, which probably aren't working properly.
If you save file, where parameters window of this machine is open, then some or all machines from list will be unselected after reloading file. Global semitone offset doesn't work also.
Thanks, I'll be uploading a fixed version soon (along with another new machine :ugeek: )
User avatar
szaszhareen
Posts: 527
Joined: Wed Nov 23, 2011 1:15 am
Location: deep beneath the earths crust

Re: New machine: Snowglobe Target Practice

Post by szaszhareen »

this is tremendously cool, and i love the tongue in cheek goofy machine name. excellent job yet again! :dance:
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

bug-fix update.
download link has changed because I'm going to maintain a single zip for all machines using Snowglobe Core.dll.
when testing, be sure to use a new (blank song). songs saved with outdated versions may misbehave in unpredictable ways.
also be sure to replace SnowglobeCore.dll and not just the machine dll.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

New parameter: Reset Probability -> percent-wise chance that the sequential counter will reset to zero.
(also bugfixes)
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe Target Practice

Post by rav »

Machines in the list are sorted by name (a-z). List is sorted again if you save and reopen file, for example. This move breaks your connections on the machine list...
Would be nice to have auto sorting after name changes or sorting by options on the list maybe. This feature could be helpful especially for this machine.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe Target Practice

Post by rav »

I've omitted phrase about changing selected machines names before reopening file :p
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

rav wrote:I've omitted phrase about changing selected machines names before reopening file :p
I thought you must have :D
Disconnection problem is fixed, and name change causes immediate resort (as I originally intended).
I have been toying with the idea of enabling drag-drop rearranging instead of alpha-sort (like can be done with scales). Yeah, might go ahead and do that pretty soon.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe Target Practice

Post by rav »

snowglobe wrote:Disconnection problem is fixed, and name change causes immediate resort (as I originally intended).
Sweet. List works good, but n parameter choose machines before renaming in "use nth target" mode.

I've played with selection modes a little bit more and i miss mode with n machines played sequentially. This would add some more polyphony to not random sequential mode.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

rav wrote:n parameter choose machines before renaming in "use nth target" mode.
Not sure exactly what you mean, but anyway it might be resolved now.
I've played with selection modes a little bit more and i miss mode with n machines played sequentially. This would add some more polyphony to not random sequential mode.
new selection mode (for Target Practice and Channel Surfer): sequential n-sized groups

Also targets can be re-ordered via drag-drop, and sorted alpha ascending or descending (true for all machines in suite, but only affects output in Target Practice).
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

update bump

2014-12-6B ** toggle target machines on and off from pattern
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: New machine: Snowglobe Target Practice

Post by tinga »

Thx for the update
There is another machine, called Scale Scrapper, but the demo crashed "Lucky".
Seems to be a crazy machine, params in pattern editor are not in machine window, I don't understand how it works, I must read again the help, maybe the machine has not to be in this pack, you haven't announce it?
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Target Practice

Post by snowglobe »

tinga wrote:Thx for the update
There is another machine, called Scale Scrapper, but the demo crashed "Lucky".
Seems to be a crazy machine, params in pattern editor are not in machine window, I don't understand how it works, I must read again the help, maybe the machine has not to be in this pack, you haven't announce it?
Ah, hehe, yeah, you caught me being lazy - ScaleWalker is in development and doesn't really do much of anything right now (other than crashing an obsolete test bmx). I've removed the ScaleWalker dll and bmx as i should have done in the first place. I left the ScaleWalker documentation file in there, however, in case anybody would like a little light bedtime reading.

Oh, and about params being in pattern editor but not in machine window, that's usually going to be a deliberate decision to keep the machine window uncluttered while still allowing 'behind-the-scenes' tracking.
Post Reply