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
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast

Reply via email to