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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Gnome - Beast mailing list

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

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XRLLKAIIMPCLVJTBUDQCV6PVA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HDGBP3Q", "url": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XRLLKAIIMPCLVJTBUDQCV6PVA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HDGBP3Q", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast
Reply | Threaded
Open this post in threaded view
|

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

Gnome - Beast mailing list

@tim-janik commented on this pull request.


In bse/bseapi.idl:

> @@ -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, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XS746UOQZIK34PF5NTQDVIBFA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCBDPAUY#pullrequestreview-273084499", "url": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XS746UOQZIK34PF5NTQDVIBFA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCBDPAUY#pullrequestreview-273084499", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast
Reply | Threaded
Open this post in threaded view
|

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

Gnome - Beast mailing list
In reply to this post by Gnome - Beast mailing list

Closed #112 via 155c021.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XTVJVXLFA7TQNOES3TQDVIHTA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOS7B2QYA#event-2546182240", "url": "https://github.com/tim-janik/beast/pull/112?email_source=notifications\u0026email_token=AIVS7XTVJVXLFA7TQNOES3TQDVIHTA5CNFSM4IJC7TM2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOS7B2QYA#event-2546182240", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast