Re: [tim-janik/beast] Property ports for MidiSynth (#112)

2019-08-09 Thread Tim Janik via beast
Closed #112 via 155c02175c3ec4c17a564896cfeb0876ad584e23.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/112#event-2546182240___
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast


Re: [tim-janik/beast] Property ports for MidiSynth (#112)

2019-08-09 Thread Tim Janik via beast
tim-janik commented on this pull request.



> @@ -1135,6 +1135,11 @@ interface MidiSynth : SNet {
 STANDARD ":scale",
 1, 256, 1, 16);
   };
+  group _("Adjustments") {
+float64 volume_f = Range (_("Master [float]"), _("Master volume as 
factor"),
+  STORAGE,
+  0, 15.8489319246111 /* +24dB */, 0.1, 1.0);

15.84... used to be calculated as a factor from MAX_dB, if we every adjust 
MAX-dB in the IDL file, this needs to be adjusted as well, so it shouldn't be 
hardcoded.
I.e. just add another constant next to the MAX_dB constant definition and use 
that for this registration, so it's obvious that both have to be adapted if we 
touch the constants in the future.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/112#pullrequestreview-273084499___
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast


[tim-janik/beast] Property ports for MidiSynth (#112)

2019-08-03 Thread Stefan Westerfeld via beast
This ports all properties of the MidiSynth to C++ (except for object properties 
SNet/PNet).

I had to fix a bug in BsePcmOutput (first commit), because setting the volume 
on the output object had no effect, but I wanted to test my code.

To have 1:1 the same ranges, I introduced constants for BSE_MIN|MAX_VOLUME_dB, 
but maybe this should just be hardcoded to -96 / 24. For the new max midi 
channel constant I think a constant should be used (maybe moved up to the other 
constants).

I noticed that some property idl constants don't combine properly. If you write 
Range (... GUI STORAGE ...), this expands to "r:w:G" "r:w:S" - so instead of 
getting a "G" hint, you get a "Gr" hint. Here I used STANDARD as ported 
property type, to work around the issue,which has both "G" and "S" hints. Not 
sure what is intended here, but adding ":" at the beginning and end of each 
property constant would allow using both versions for a GUI & STORAGE property.
You can view, comment on, or merge this pull request online at:

  https://github.com/tim-janik/beast/pull/112

-- Commit Summary --

  * BSE: PcmOutput: properly update volume for engine module
  * BSE: MidiSynth::midi_channel: port property to C++
  * BSE: MidiSynth::n_voices: port property to C++
  * BSE: MidiSynth::volume_f: port property to C++
  * BSE: MidiSynth::volume_dB: port property to C++
  * BSE: MidiSynth::volume_perc: port property to C++
  * BSE: MidiSynth: store volume_factor in impl class

-- File Changes --

M bse/bseapi.idl (17)
M bse/bsemidisynth.cc (200)
M bse/bsemidisynth.hh (19)
M bse/bsepcmoutput.cc (34)

-- Patch Links --

https://github.com/tim-janik/beast/pull/112.patch
https://github.com/tim-janik/beast/pull/112.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/112
___
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast