vu meters in machines and sequencer

User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

vu meters in machines and sequencer

Post by strobotone »

hey there,

i am still working on these points:

1) better master vu meter (with db scale in toolbar) .
2) vu meters for machines and every track in the sequencer .

3) themewise i am putting knobs/dials in the buzzgui where it makes sense .
the machines themselfes could use some of them too since sliders take up too much space .
check theme progress here .

any ideas/ suggestions on that are appreciated.
domtron
Posts: 94
Joined: Tue Nov 22, 2011 5:18 pm

Re: vu meters in machines and sequencer

Post by domtron »

wow,great progress here!

i think a switch like "on demand" would be great if possible,
to reduce the graphics load.
mes
Posts: 76
Joined: Wed Nov 23, 2011 5:37 am

Re: vu meters in machines and sequencer

Post by mes »

I've always wondered why the Buzz synths don't have a master level knob/fader and clipping indicator.
User avatar
mantratronic
Posts: 296
Joined: Mon Nov 21, 2011 7:23 pm

Re: vu meters in machines and sequencer

Post by mantratronic »

mes wrote:I've always wondered why the Buzz synths don't have a master level knob/fader and clipping indicator.
because it wouldnt make sense, the fader is on the connections and having an extra one for a generator would be redundent. also, no clipping occurs in buzz until the master/output, or you put in a clipping effect, so why show it?

btw, looking forward to the new theme! been using your last one a lot strobotone :)
mes
Posts: 76
Joined: Wed Nov 23, 2011 5:37 am

Re: vu meters in machines and sequencer

Post by mes »

mantratronic wrote:
mes wrote:I've always wondered why the Buzz synths don't have a master level knob/fader and clipping indicator.
because it wouldnt make sense, the fader is on the connections and having an extra one for a generator would be redundent. also, no clipping occurs in buzz until the master/output, or you put in a clipping effect, so why show it?

btw, looking forward to the new theme! been using your last one a lot strobotone :)
ahhh okay good point...well I was thinking it would be nice for some synths to have a built in master level fader that gets saved with each preset, so you can even the levels out a bit when switching between loud and quieter presets...but I guess most of them do already have that.
Shro0m
Posts: 46
Joined: Tue Nov 22, 2011 7:34 am

Re: vu meters in machines and sequencer

Post by Shro0m »

strobotone wrote:hey there,

i am still working on these points:

1) better master vu meter (with db scale in toolbar) .
2) vu meters for machines and every track in the sequencer .

3) themewise i am putting knobs/dials in the buzzgui where it makes sense .
the machines themselfes could use some of them too since sliders take up too much space .
check theme progress here .

any ideas/ suggestions on that are appreciated.
A VU meter ala the newest Jedshiva would be nice.
Joachip should have the algo for that
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

Shro0m wrote:
strobotone wrote:hey there,

i am still working on these points:

1) better master vu meter (with db scale in toolbar) .
2) vu meters for machines and every track in the sequencer .

3) themewise i am putting knobs/dials in the buzzgui where it makes sense .
the machines themselfes could use some of them too since sliders take up too much space .
check theme progress here .

any ideas/ suggestions on that are appreciated.
A VU meter ala the newest Jedshiva would be nice.
Joachip should have the algo for that
i am thinking in the same direction.
also jeskola limiter makes a good example of that.
buzzgui might have to be extended in order to bind a mini vu (output level of the machine) to the actual machine gui.
from there you could configure the mini vu via xaml like the master vu in the toolbar.
enable switching between vu/led would be pretty easy then. (also via selectable default value in machineview settings dialog)

as far as mini vu meters for each track in the sequencer go - i´d like to see that in the vertical sequencer.
so i try to figure out how to make a switchable vertical sequencerview from the new horizontal one.
but this has to be coded first. with just xaml (theme) this is not possible. or is it?

now since we have that kinda flexible theming we might call it "XAMLing" ;)
User avatar
UNZ
Posts: 808
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: vu meters in machines and sequencer

Post by UNZ »

strobotone wrote: buzzgui might have to be extended in order to bind a mini vu (output level of the machine) to the actual machine gui.
you can use the "plug api" (same as loop-recorder uses) to get to the output samples for displaying vu.
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

UNZ wrote:
strobotone wrote: buzzgui might have to be extended in order to bind a mini vu (output level of the machine) to the actual machine gui.
you can use the "plug api" (same as loop-recorder uses) to get to the output samples for displaying vu.
thanks but how? i had something like the jeskola limiter example in mind.
something like a globally available object that you can bind in your xaml. (like the master vu)
the lazy way would be to grab the vu from the limiter gui and put it in the machineview gui accordingly. ;)
User avatar
UNZ
Posts: 808
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: vu meters in machines and sequencer

Post by UNZ »

strobotone wrote:
UNZ wrote:
strobotone wrote: buzzgui might have to be extended in order to bind a mini vu (output level of the machine) to the actual machine gui.
you can use the "plug api" (same as loop-recorder uses) to get to the output samples for displaying vu.
thanks but how? i had something like the jeskola limiter example in mind.
something like a globally available object that you can bind in your xaml. (like the master vu)
the lazy way would be to grab the vu from the limiter gui and put it in the machineview gui accordingly. ;)

no, look at the loop recorder source code in the svn. you can get output data for every connection / plug on a machine (even mutli io)
mes
Posts: 76
Joined: Wed Nov 23, 2011 5:37 am

Re: vu meters in machines and sequencer

Post by mes »

Shro0m wrote:
strobotone wrote:hey there,

A VU meter ala the newest Jedshiva would be nice.
Joachip should have the algo for that

wow thanks, I had no idea about the newest version of Jedshiva...I'd still been using the version from 2004. :lol:
User avatar
Reefer Sutherland
Posts: 96
Joined: Thu Nov 24, 2011 3:17 pm
Contact:

Re: vu meters in machines and sequencer

Post by Reefer Sutherland »

I just realized.. I usually switch to the old vertical sequencer for two reasons.

To edit steps in less than 16 lines.

And, because every fourth row (number) is slightly darker.

I don't know if the first one already is implemented, but the second one, that one would be nice :)
Can that be set in the theme?
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

Reefer Sutherland wrote:I just realized.. I usually switch to the old vertical sequencer for two reasons.

To edit steps in less than 16 lines.

And, because every fourth row (number) is slightly darker.

I don't know if the first one already is implemented, but the second one, that one would be nice :)
Can that be set in the theme?
no afaik, atleast not yet. it has to be implemented in the c# code of BuzzGUI.SequenceEditor first.
oskari
Site Admin
Posts: 296
Joined: Mon Nov 21, 2011 2:04 pm

Re: vu meters in machines and sequencer

Post by oskari »

Reefer Sutherland wrote:I just realized.. I usually switch to the old vertical sequencer for two reasons.

To edit steps in less than 16 lines.
ctrl+f+t
User avatar
Joachip
Posts: 352
Joined: Mon Nov 21, 2011 7:21 pm
Contact:

Re: vu meters in machines and sequencer

Post by Joachip »

For more information on VU meters, I've written some info here that explains the math behind what I think is a good VUmeter (the new JedShiva is based on this):
http://www.robotplanet.dk/audio/audio_gui_design/

Basically, the formula is x = pow(y,3)
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

UNZ wrote:

no, look at the loop recorder source code in the svn. you can get output data for every connection / plug on a machine (even mutli io)
interesting. but you would have to enhance the BuzzGUI.MachineView with the math anyway.

>ConnectionVM.cs (LoopRecorder.GUI) >
...
public IMachineConnection MachineConnection { get; set; }
public string Name
{
get
{
if (MachineConnection != null)
return MachineConnection.Source.Name + " -> " + MachineConnection.Destination.Name;
else
return "Master";
}
}
public Brush NameBrush { get; set; }

bool isSelected;
public bool IsSelected
{
get { return isSelected; }
set
{
if (value == isSelected) return;

isSelected = value;

if (MachineConnection != null)
{
if (isSelected)
MachineConnection.Tap += MachineConnection_Tap;
else
MachineConnection.Tap -= MachineConnection_Tap;
}
else if (GUI.Machine != null)
{
if (isSelected)
GUI.Machine.Graph.Buzz.MasterTap += MachineConnection_Tap;
else
GUI.Machine.Graph.Buzz.MasterTap -= MachineConnection_Tap;
}

PropertyChanged.Raise(this, "VUMeterVisibility");
}
}


float maxSample;
public double VUMeterLevel { get; set; }
public Visibility VUMeterVisibility { get { return isSelected ? Visibility.Visible : Visibility.Collapsed; } }
const double VUMeterRange = 80.0;

public void TimerUpdate()
{
if (maxSample >= 0)
{
var db = Math.Min(Math.Max(Decibel.FromAmplitude(maxSample), -VUMeterRange), 0.0);
VUMeterLevel = (db + VUMeterRange) / VUMeterRange;
PropertyChanged.Raise(this, "VUMeterLevel");
maxSample = -1;
}
}

void MachineConnection_Tap(float[] samples, bool stereo, SongTime songtime)
{
maxSample = Math.Max(maxSample, DSP.AbsMax(samples) * (1.0f / 32768.0f));

// call ProcessBuffer in a background task
GUI.bufferQueue.Add(Tuple.Create(this, samples, stereo, songtime));
}
...
Last edited by strobotone on Thu Dec 01, 2011 5:07 pm, edited 1 time in total.
User avatar
UNZ
Posts: 808
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: vu meters in machines and sequencer

Post by UNZ »

loop recorder also displays VU meters when you record, just look at that code too.

not sure what you mean with: "but you would have to enhance the BuzzGUI.MachineView with the math anyway." Yes ? its more or less copy from loop recoder, paste into machineview.
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

yes, that´s what i mean :)
User avatar
mantratronic
Posts: 296
Joined: Mon Nov 21, 2011 7:23 pm

Re: vu meters in machines and sequencer

Post by mantratronic »

You might have to start contributing to the GUI :D

If you make a diff of the changes you make, then other ppl could recompile the GUI to include it if they want, without having to choose between updates from oskari and your dll's. (actually, I'd like the diff for the "hide new sequencer" mod you made to be available)
User avatar
strobotone
Posts: 297
Joined: Wed Nov 23, 2011 2:59 pm
Location: berlin
Contact:

Re: vu meters in machines and sequencer

Post by strobotone »

thanks :)
since i am not an actual coder i feel kinda honored.
Post Reply