SnowMachines combined thread

Post Reply
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

snowglobe wrote:It does.
Great, very useful.
Is it possible to have in selection mode "sequential 0 to n" or "m to n", to play for example rows 8 to 15?
Anyway, there are so much possibilities with Scalewalker, not very important, program change works fine with buzz gen+polacvsti 8-)
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

tinga wrote:Is it possible to have in selection mode "sequential 0 to n"
So you mean, like, if there were 10 rows and you had n set to 4 the selections might go something like
1+2 ... 3+4+5+6 ... 7 ... 8+9 ... 10+1+2+3 ... ? And a 0 result would mean select nothing?
or "m to n", to play for example rows 8 to 15?
Just select 8 to 15 in static mode? (I'm sure I just don't follow your thought)
program change works fine with buzz gen+polacvsti 8-)
Oh, cool! Didn't realize that was possible. Polac ftw again!
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

I ask for something like that: if we have 10 rows and m=3 n=6, m to n in sequential mode will give this: 3....4....5....6....3....4 etc....
Another good thing, PeerState could be drive by ScaleWalker, it works 8-)

I am not sure that "offset from current step" works as expected, and maybe "$"(I don't know in what version the change appears). I'm testing again.
I tried the pool system, very cool, another thing, scalewaker is pleasant to use , complex but intuitive.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

tinga wrote:I ask for something like that: if we have 10 rows and m=3 n=6, m to n in sequential mode will give this: 3....4....5....6....3....4 etc....
I think I don't want to introduce a new 'm' parameter, but you've got me thinking about some possible new options in the rule department that could enable the same behavior (and more).
I am not sure that "offset from current step" works as expected, and maybe "$"(I don't know in what version the change appears).
Let me know what your testing indicates about $ and $t. Seems fine here.

The current scale step business is pretty weird at first glance, I admit. One thing to understand is that every output of an arp rule will potentially change the scale step pointer, whereas for chords the pointer will only be changed by the last note of a chord rule that is the last rule in a row. I can sort of remember why I set things up that way ...
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

snowglobe wrote:I think I don't want to introduce a new 'm' parameter, but you've got me thinking about some possible new options in the rule department that could enable the same behavior (and more).
Great, new options are welcome!
snowglobe wrote:Let me know what your testing indicates about $ and $t. Seems fine here.
:? Yes it works fine, sorry, I did some confusions, it seems there are some interactions if several sets are active at the same time, I can post a bmx.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

tinga wrote:it seems there are some interactions if several sets are active at the same time
Yeah, $ and $t pay attention to global output. I guess offset from last-output-via-this-set ($s) could be nice too, eh.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

New features are great, thank you!

I have some problems with "Snap MIDI In". If only i change duration beats and cycle/continued beats to 0, it's almost impossible to not hang out chords in Qsamo for example. It doesn't matter if i use "snap to tick" or "to bar".
It's also possible to choose snap to bar equal to 0, if you use down arrow.

Is it possible to add option to trigger "Hush" button and change state of "Hold" button from pattern? I would like to control these buttons by midi (if that makes any sense).

Cheers.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

rav wrote:I have some problems with "Snap MIDI In". If only i change duration beats and cycle/continued beats to 0, it's almost impossible to not hang out chords in Qsamo for example. It doesn't matter if i use "snap to tick" or "to bar".
Been trying to solve this for the past couple of days. Vexatious!
It's also possible to choose snap to bar equal to 0, if you use down arrow.
Haha, divide by zero error. Fun! This is like what synthphase found with patternist. Luckily, this particular issue should be easy to fix.
Is it possible to add option to trigger "Hush" button and change state of "Hold" button from pattern? I would like to control these buttons by midi (if that makes any sense).
Are you really wanting to be able to toggle these via pattern for some reason? I hesitate to add even more parameters, but maybe it's enough if there is a settings menu (attributes, possibly, which I need to learn how to do anyway) where you can assign these functions to MIDI note and/or MIDI CC and/or qwerty key? So, for example, you could make MIDI 0 be Hush, and MIDI 127 could be a toggle for Hold?
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

snowglobe wrote:
rav wrote:Is it possible to add option to trigger "Hush" button and change state of "Hold" button from pattern? I would like to control these buttons by midi (if that makes any sense).
Are you really wanting to be able to toggle these via pattern for some reason? I hesitate to add even more parameters, but maybe it's enough if there is a settings menu (attributes, possibly, which I need to learn how to do anyway) where you can assign these functions to MIDI note and/or MIDI CC and/or qwerty key? So, for example, you could make MIDI 0 be Hush, and MIDI 127 could be a toggle for Hold?
The only purpose would be to control it via MIDI note/CC at the end, so your idea sound even better. If you can do this, it would be great :)
User avatar
IXix
Posts: 1113
Joined: Wed Nov 23, 2011 3:24 pm

Re: SnowMachines combined thread

Post by IXix »

snowglobe wrote:but maybe it's enough if there is a settings menu (attributes, possibly, which I need to learn how to do anyway)
Here's how I do attributes in C#. I used the following to bind a numeric updown control to an attribute...

Here's the property I bind to (I use an enum to give the attributes useful names so I don't have to use the index numbers)

Code: Select all

public enum MachineAttributes
{
	RampTime,
	ConfirmOnClear,
	AutoNameOnNew,
	AutoNameOnChange,
	AutoAssign
}

public int FadeTime
{
   get
   {
       return GetIntAttribute(MachineAttributes.RampTime);
   }
   set
   {
       SetIntAttribute(MachineAttributes.RampTime, value);
   }
}
...and the XAML for the binding...

Code: Select all

<TextBlock Text="Fade time (ms)"/>
<bgc:NumericUpDown Name="tbFadeTime" Value="{Binding ElementName=GUI, Path=FadeTime, Mode=TwoWay}"  Minimum="0" Maximum="65535"/>
I made these functions to keep things neater. There may be a better way but I'm still a C# n00b (after all this time!)

Code: Select all

private bool GetBoolAttribute(MachineAttributes index)
{
	try
	{
		return (Machine.Attributes[(int)index].Value == 1) ? true : false;
	}
	catch
	{
		return false;
	}
}

private void SetBoolAttribute(MachineAttributes index, bool state)
{
	try
	{
		Machine.Attributes[(int)index].Value = (state ? 1 : 0);
	}
	catch
	{
	}
}

private int GetIntAttribute(MachineAttributes index)
{
	try
	{
		return Machine.Attributes[(int)index].Value;
	}
	catch
	{
		return 0;
	}
}

private void SetIntAttribute(MachineAttributes index, int value)
{
	try
	{
		Machine.Attributes[(int)index].Value = value;
	}
	catch
	{
	}
}
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

:dance: I thank you, sir IX.
User avatar
IXix
Posts: 1113
Joined: Wed Nov 23, 2011 3:24 pm

Re: SnowMachines combined thread

Post by IXix »

snowglobe wrote::dance: I thank you, sir IX.
You're welcome. Sadly I don't actually know how to add attributes to a machine in C# though but it's probably trivial. I've never made a full managed machine so all my params and attributes have been done the C++ way.

edit: Hmmm... just spent some time poking around various machine sources and the BuzzGUI code and I can't figure out how to add an attribute. If you figure it out, let me know. :shock:
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

rav wrote:I have some problems with "Snap MIDI In". If only i change duration beats and cycle/continued beats to 0, it's almost impossible to not hang out chords in Qsamo for example. It doesn't matter if i use "snap to tick" or "to bar".
OK, I was having trouble finding the bug hiding in all the spahetti, so I ended up doing a major revision/clean-up of the entire event processing system; please test and let me know (replace all files, including SnowglobeCore).
It's also possible to choose snap to bar equal to 0, if you use down arrow.
Should be fixed now.
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: SnowMachines combined thread

Post by tinga »

Last version doesn't work for me.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

Looks like, that there is still a link to old version, not to the new one ;p

In the mean time i found, that Hush button reacts to Qsamo(s) without even creating a row and without selecting machine. I did not found other machine or VST which reacts like this.

Btw, how is this Hush thing working? I am a little bit confused since there is no possibility to use Hush on notes from different source than ScaleWalker, for example from pattern or different MIDI source.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

rav wrote:Looks like, that there is still a link to old version, not to the new one ;p
Ah, the old Google Drive sync failure strikes again - new version is there for real now.
In the mean time i found, that Hush button reacts to Qsamo(s) without even creating a row and without selecting machine. I did not found other machine or VST which reacts like this.

Btw, how is this Hush thing working? I am a little bit confused since there is no possibility to use Hush on notes from different source than ScaleWalker, for example from pattern or different MIDI source.
Funny you should mention it. While I was re-tooling the events system I happened to notice that the Hush function was pretty messed up, so I made some changes there, too. If you check it with this new version I think you'll find that it now works a lot more like you would expect it to.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

rav wrote:
snowglobe wrote:
rav wrote:Is it possible to add option to trigger "Hush" button and change state of "Hold" button from pattern? I would like to control these buttons by midi (if that makes any sense).
Are you really wanting to be able to toggle these via pattern for some reason? I hesitate to add even more parameters, but maybe it's enough if there is a settings menu (attributes, possibly, which I need to learn how to do anyway) where you can assign these functions to MIDI note and/or MIDI CC and/or qwerty key? So, for example, you could make MIDI 0 be Hush, and MIDI 127 could be a toggle for Hold?
The only purpose would be to control it via MIDI note/CC at the end, so your idea sound even better. If you can do this, it would be great :)
I totally forgot that I had already set something up for qwerty:

hold -- <Caps Lock>
hush -- <End>

I intend to do the attribute thing for user-assignable qwerty/note/cc, but meanwhile I just noticed this while looking through the code and thought I would mention it fwiw. (I wish <Esc> could be an assignment option, but buzz intercepts that to minimize the machine param window / gui)
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: SnowMachines combined thread

Post by rav »

Thanks for update.

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.
Snap to bar equal 1 doesn't work right now. 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.

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.
snowglobe wrote:I totally forgot that I had already set something up for qwerty:

hold -- <Caps Lock>
hush -- <End>

I intend to do the attribute thing for user-assignable qwerty/note/cc, but meanwhile I just noticed this while looking through the code and thought I would mention it fwiw. (I wish <Esc> could be an assignment option, but buzz intercepts that to minimize the machine param window / gui)
Maybe try some sort of shortcut, 'shift + esc' for example.
User avatar
AndersBrontosaurus
Posts: 516
Joined: Mon Feb 25, 2013 9:31 am
Location: Fellingsbro

Re: SnowMachines combined thread

Post by AndersBrontosaurus »

snowglobe wrote:
rav wrote:
snowglobe wrote: I totally forgot that I had already set something up for qwerty:

hold -- <Caps Lock>
hush -- <End>

I intend to do the attribute thing for user-assignable qwerty/note/cc, but meanwhile I just noticed this while looking through the code and thought I would mention it fwiw. (I wish <Esc> could be an assignment option, but buzz intercepts that to minimize the machine param window / gui)
Wouldn't it be possible to toggle hold/hush with the same key?
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: SnowMachines combined thread

Post by snowglobe »

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 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).
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.
Post Reply