Page 1 of 2

New machine: Snowglobe Channel Surfer (was MIDI Manager)

Posted: Mon Nov 03, 2014 2:01 am
by snowglobe
MIDI Manager is now redacted and replaced with Channel Surfer, which requires the SnowglobeCore library
download (Updated 2014/11/24)

updates
2014-12-6B ** toggle target machines on and off from pattern
2014-12-6 ** 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
2014-11-25 ** default track velocity and humanization sliders display values again

**************************
Snowglobe Channel Surfer
**************************
Tagline: Channanigans for fun and profit!

Basic idea: take notes from MIDI-in or patterns and scatter them back out on various MIDI channels any old which way you like.

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 Channel Surfer.NET.dll and SnowglobeCore.dll into your Generators folder
(if you're upgrading from an old version, be sure to replace the old SnowglobeCore as well)

No audio or peer output, just MIDI.

Nothing to connect. Choose one or more target 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
---------------------------------------------

"In" channel check boxes (one for each channel): triggers arriving via MIDI In are ignored if received on a disabled channel

"Out" channel toggle buttons: select a "channel pool" to be used in any sleight-of-channel maneuvers

== Channel Selection Modes ===
*All -> output will be sent to every selected target
*Random Single -> one channel will be selected at random
*Random Multi -> one or more channels will be selected at random
*Sequential -> step through selected channels one-by-one as notes are fired/received
*Sequential by n -> step through channels n-by-n
*Take exactly n -> randomly choose exactly n channels from the pool
*0 to n -> randomly select between 0 and n channels
*1 to n -> randomly select between 1 and n channels
*At least n -> randomly select between n and 16 channels
*Global -> obey the global setting

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 -> IGNORED

==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)

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 8:43 am
by esp81
This is very cool, I'm having a lot of fun with it already. Thanks Snowglobe!

A note probability command for each row/column in a pattern (like polac vst or matilde tracker) would make this thing create some incredibly complex patterns!
Is there any chance you could have option to use more than +/- 15 on velocity humanization? Maybe a range slider?
Could you add an option to cut the previous note when a new note is triggered in a note column? Right now the notes will keep sustaining if you don't add note-offs..I'm not sure if that's intentional or not, I suppose it may actually be useful in certain cases.

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 4:38 pm
by snowglobe
esp81 wrote:This is very cool, I'm having a lot of fun with it already. Thanks Snowglobe!
:dance:
A note probability command for each row/column in a pattern (like polac vst or matilde tracker) would make this thing create some incredibly complex patterns!
Feel like I should have thought of this myself.
Is there any chance you could have option to use more than +/- 15 on velocity humanization? Maybe a range slider?
Another good idea.
Could you add an option to cut the previous note when a new note is triggered in a note column? Right now the notes will keep sustaining if you don't add note-offs..I'm not sure if that's intentional or not, I suppose it may actually be useful in certain cases.
Definitely by design, but it's easy enough to add a yes-no column so you can turn auto-cut behavior on and off.

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 4:55 pm
by IXix
Sounds cool. 8-)

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 6:29 pm
by snowglobe
IXix wrote:Sounds cool. 8-)
:) (Thanks again for all the "how to get started" advice you gave me way back when, man)

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 9:14 pm
by rav
Simple one bar pattern with 3 generators gave me very cool effect. Great idea :>

Try to reload file, where parameter window of SMM is closed. Playing pattern doesn't send any MIDI signals to machines. You need to open it to tell which machines are selected.

Would be nice to have this offset params not only globally, but per track too, if it's not overstatement.
It definitely lacks delay parameter and features related to it. :p

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 11:21 pm
by mridlen
So... how do you hook it up exactly? I've been poking around at it, but I can't get any machines to populate in the list. I've set midi channels like on the video.

It seems to be working... but the text is not populating in the list. It's just showing up as little invisible bars I can click on.

Re: New machine: Snowglobe MIDI Manager

Posted: Mon Nov 03, 2014 11:44 pm
by tinga
Great, it make the thing more clear for midi, I will use mostly the random midi channel, i like it, add IX_Split for more fun with all generators.

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 04, 2014 12:45 am
by snowglobe
"esp81 update":
  • auto_cut option (on by default)
    probability parameter for notes
    humanization range slider instead of checkbox
    revised demo.bmx that uses the new probability parameter
rav wrote: Try to reload file, where parameter window of SMM is closed. Playing pattern doesn't send any MIDI signals to machines. You need to open it to tell which machines are selected.
Should be fixed now.
rav wrote: Would be nice to have this offset params not only globally, but per track too, if it's not overstatement.
I kind of want this, too. In fact, I implemented it, but there are issues on the pattern view side of things that made me take it back out. It could end up back in, though.
rav wrote: It definitely lacks delay parameter and features related to it. :p
Seems like when you're tracking you just place the note-ons where you want them. Are you thinking in terms of recording? Tell me more. (humanization-like delay range could be interesting)
mridlen wrote:the text is not populating in the list. It's just showing up as little invisible bars I can click on.
Weird. Anybody? Bueller?

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 04, 2014 1:56 am
by snowglobe
tinga wrote:Great, it make the thing more clear for midi, I will use mostly the random midi channel, i like it, add IX_Split for more fun with all generators.
I thought you might enjoy the channel shenanigans, my friend (and there's some more stuff coming down the pike that may be of even more interest to you).

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 04, 2014 5:01 am
by esp81
Thanks for the update! I'm getting some strange behavior with the probability command, where sometimes a note won't trigger even when probability is set to 100, and sometimes it does trigger when set to 0. Everything else is working perfectly though.

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 04, 2014 5:21 am
by snowglobe
esp81 wrote:Thanks for the update! I'm getting some strange behavior with the probability command, where sometimes a note won't trigger even when probability is set to 100. Everything else is working perfectly though.
Duh (he said to himself). Try it now that I've moved the note column to the right of probability.

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 04, 2014 7:29 am
by esp81
It's working perfectly now, I'm getting some really amazing results. :shock:

Re: New machine: Snowglobe MIDI Manager

Posted: Wed Nov 05, 2014 11:16 pm
by rav
snowglobe wrote:
mridlen wrote:the text is not populating in the list. It's just showing up as little invisible bars I can click on.
Weird. Anybody? Bueller?
I've had this issue, too. Are you using custom theme? Is it strobotone's simplon maybe? :) I like it the most, because it adds some extra functionality, but looks like it needs some updates... Try default theme instead.
snowglobe wrote:
rav wrote: It definitely lacks delay parameter and features related to it. :p
Seems like when you're tracking you just place the note-ons where you want them. Are you thinking in terms of recording? Tell me more. (humanization-like delay range could be interesting)
Sure, but what if you want to add some notes imperfectly embedded in timeline?
Recording would be nice feature, random delay like velocity humanization, also.
I was thinking about swing control possibility. Something like in jeskola arpeggiator, but for adding groove to pattern/track (output MIDI?) would be super awesome.

Thanks for the update.
cheers 8-)

Re: New machine: Snowglobe MIDI Manager

Posted: Thu Nov 06, 2014 10:12 am
by mute
havent had a chance to use this yet, but it looks extremely cool and i look forward to trying it out this weekend.

Re: New machine: Snowglobe MIDI Manager

Posted: Thu Nov 06, 2014 12:15 pm
by bomgaroto
Red "CRASHED" label on machine as soon as it is added.

I have the DLL in my Generators folder and using Buzz version 1498 (x86) on Windows 7 Professional, .NET installed, updated, all other machines, songs, etc. working fine.

Anyone having the same issue?

The idea is great, i'm agog to try it. So any help greatly appreciated. Will keep trying in the meantime.

Cheers!

Re: New machine: Snowglobe MIDI Manager

Posted: Thu Nov 06, 2014 6:42 pm
by snowglobe
I'll upload a new build later that might solve it for you
Done.
(no new features or anything - just disabled the calls that I think might be causing your issue - let me know!).

Re: New machine: Snowglobe MIDI Manager

Posted: Tue Nov 11, 2014 3:06 pm
by bomgaroto
Couldn't make it work. Clean Buzz install (1498) solved the issue though. Sorry I missed your patch.
It is working perfectly now.

It is a great machine! Thanks!

Re: New machine: Snowglobe Channel Churner (was MIDI Manage

Posted: Tue Nov 25, 2014 4:41 am
by snowglobe
Snowglobe MIDI Manager is now redacted in favor of Snowglobe Channel Surfer (SnowglobeCore library required).

Re: New machine: Snowglobe Channel Surfer (was MIDI Manager

Posted: Tue Nov 25, 2014 10:05 pm
by rav
In some channel select modes, like random single and sequential. Window pops with information about division by zero, if no outs are selected.
Sometimes it's possible to trigger not selected output. For example, if n = 0 on modes "take exactly n" and "1 to n". Is it intentional, to act like that?

This update unfortunately introduces some bugs:
- sequencing sometimes go right, sometimes left, sometimes in queues like this: 1, 3, 2, 4, 5, 7, 6 (after some changes it goes random also),
- output channels are not always visualized by red dot,
- sometimes some notes are omitted randomly.

Anyway, it was fun to play.
Btw, is it possible to move SnowglobeCore to folder or outside the generators to the Gear folder, like other not loadable modules in buzz?