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

Reply via email to