tim-janik commented on this pull request.

Thanks a lot, minor comments inline.

> +
+void
+SongImpl::tick_pointer (int tick)
+{
+  BseSong *self = as<BseSong*>();
+
+  if (uint (tick) != self->tick_SL)
+    {
+      // this property has no undo
+
+      BSE_SEQUENCER_LOCK ();
+      self->tick_SL = tick;
+      for (SfiRing *ring = self->tracks_SL; ring; ring = sfi_ring_walk (ring, 
self->tracks_SL))
+        {
+          BseTrack *track = (BseTrack*) ring->data;
+          track->track_done_SL = FALSE;        /* let sequencer recheck if 
playing */

While you're at it, the C macros TRUE and FALSE should be converted to C++'s 
true and false.

> @@ -565,7 +565,8 @@ pointer_move (BstTrackRollController *self,
       drag->type != GXK_DRAG_DONE) /* skip release events */
     {
       guint tick = bst_track_roll_controller_quantize (self, 
drag->current_tick);
-      bse_proxy_set (self->song, "tick-pointer", tick, NULL);
+      Bse::SongH song = Bse::SongH::down_cast (bse_server.from_proxy 
(self->song));

It might (soon) be time to convert self->song into a scoped handle. Please keep 
an eye on when it's easier or not too much effort to use a Bse::SongS in the 
track controller and go for it, so we can avoid all those from_proxy down casts.

-- 
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/68#pullrequestreview-150049358
_______________________________________________
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast

Reply via email to