As requested, I went through all changes in
https://github.com/tim-janik/beast/pull/78 and used APPLY_IDL_PROPERTY() where
possible. In some cases it wasn't possible, so there are a few handwritten
setters. I also avoid any fancy new features in the code or ui, this is an 1:1
port.
This also fixes the C++ property loader code in bsestorage.cc so that make
check passes.
>From my perspective the only thing that could be controversial is that you
>used g_object_set(...property...value...) to avoid undo recording for some
>setter calls. I added a function to block undo manually so
```
g_object_set (self, /* no undo */
"sync", self->saved_sync,
NULL);
```
now looks somewhat like this
```
bus->block_property_undo();
bus->sync (self->saved_sync);
bus->unblock_property_undo();
```
This should work in the same way for setters that use APPLY_IDL_PROPERTY() and
for hand-written setters that use push_property_undo(). If you have a better
suggestion feel free to either change this after merging or letting me know how
it should be done.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/105
-- Commit Summary --
* BSE: Bus::mute: port property to C++
* BEAST-GTK: bstbuseditor: support both, aida and old style properties
* BSE: Bus::solo: port property to C++
* BSE: bseitem: provide API to temporarily disable property undo recording
* BSE: Bus::sync: port property to C++
* BSE: Bus::left_volume: port property to C++
* BEAST-GTK: bstbuseditor: use left_volume C++ property
* BSE: Bus::right_volume: port property to C++
* BEAST-GTK: bstbuseditor: use right_volume C++ property
* BSE: Bus::master_output: port property to C++
* SFI: provide scanner double/int64 parsing code
* BSE: fix C++ property loading (float64)
* BSE: bsebus: minor cosmetic changes
* BSE: Song: port remaining Bus::master-output set calls
-- File Changes --
M beast-gtk/bstbuseditor.cc (33)
M bse/bseapi.idl (23)
M bse/bsebus.cc (335)
M bse/bsebus.hh (28)
M bse/bseitem.cc (14)
M bse/bseitem.hh (3)
M bse/bsesong.cc (6)
M bse/bsestorage.cc (10)
M bse/sfiserial.cc (2)
M bse/sfiserial.hh (3)
-- Patch Links --
https://github.com/tim-janik/beast/pull/105.patch
https://github.com/tim-janik/beast/pull/105.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/105
_______________________________________________
beast mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/beast