Re: [tim-janik/beast] Property ports for MidiSynth (#112)
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)
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)
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