a2b3e31e10
libardour: remove ripple callback API, and fix deadlock issues with ripple/ripple_locked/ripple_unlocked/remove_gaps
2021-08-13 12:51:27 -06:00
8e2c5239c4
add a 2nd glib log handler setup call, because for reasons not entirely clear, g_log_set_handler(NULL, ...) doesn't cover all g_logv messages
2021-08-13 12:51:27 -06:00
27456b93ad
initial addition of Ripple All edit mode to GUI
2021-08-13 12:51:27 -06:00
2f11a49103
Add "Ripple All" edit mode to libardour
2021-08-13 12:51:27 -06:00
e7595f2cd5
follow modified Playlist ripple callback API
2021-08-13 12:51:27 -06:00
815abed5c5
alter API for playlist ripple callback, to provide required information
2021-08-13 12:51:27 -06:00
0e2bd5383c
GUI changes to follow new Playlist::ripple() API
...
Current ripple callback does nothing at all
2021-08-13 12:51:27 -06:00
447e80a247
add a callback argument to Playlist::ripple() so that the caller can arrange for a response after a single ripple
...
Also add Playlist::rdiff_and_add_command() to consolidate what is required to save
playlist state in an (undo/redo) Command
2021-08-13 12:51:27 -06:00
82bad0725a
libcanvas: reapply LineSet::add_line -> add_coord change after rebase conflicts with master
2021-08-13 12:51:27 -06:00
19768953bf
beatbox: continued work on packing/arranging the GUI
2021-08-13 12:51:27 -06:00
da723e1dd0
Beatbox: continuing work on laying out the GUI using ConstraintPacker
2021-08-13 12:51:27 -06:00
54de7c70ee
Canvas: print item colors in hex when debugging
2021-08-13 12:51:27 -06:00
86a31e34ba
Canvas: fix recursive calling of Item::size_allocate()
...
ConstraintPacker is the one Item-derivative that should NOT call Item::size_allocate_children()
because it just did the size computation for its children and called their
::constrained() method, which in turns calls size_allocate() with the correct size
2021-08-13 12:51:27 -06:00
dbe37d2752
Canvas: make possible even more debugging of constraint packing
2021-08-13 12:51:27 -06:00
f118b3ab53
Canvas: remove dangling cairo path in Arc or ConstraintPacker if fill was requested but not outline
2021-08-13 12:51:27 -06:00
1d96bad59f
Canvas: remove cBox (API fully merged into ConstraintPacker)
2021-08-13 12:51:27 -06:00
1b66890547
Canvas: continuing move of cBox functionality into ConstraintPacker
2021-08-13 12:51:27 -06:00
4e82279ce4
Canvas: next step of merging cBox and ConstraintPacker
2021-08-13 12:51:27 -06:00
af60c50990
first steps in merging cBox into constraint packer
2021-08-13 12:51:27 -06:00
860d43697c
Canvas: propagate ::size_allocate() down the item tree
...
This previously wasn't done because of fear that it would affect the traditional fixed-sized canvas,
but only items that _layout_sensitive (i.e. are packed into a constraint packer directly) will
actually do anything in ::size_allocate().
Possibly might want to relax this to cover items that have a constraint packer between them
and a root group.
2021-08-13 12:51:27 -06:00
d51893dec6
start repacking beatbox GUI using constraint packing
2021-08-13 12:51:27 -06:00
28f85747ca
Canvas: fix behavior of Rectangle when used in a constraint packer
...
::size_allocate() sets the _position *and* the "self" rect appropriately
2021-08-13 12:51:27 -06:00
3c2bd05750
Canvas: remove debug output
2021-08-13 12:51:27 -06:00
fa2885d2d6
Canvas: do not fill containers by default (added during constraint packing work; badly affects the regular canvas)
2021-08-13 12:51:27 -06:00
10473ab3a6
build gtk2_ardour again
2021-08-13 12:51:27 -06:00
9909917976
Canvas: remove unnecessary and conflicting enum
2021-08-13 12:51:27 -06:00
2e4d228f54
manual fixes for constraint-packer -> newbbgui merge
2021-08-13 12:51:27 -06:00
2b39c5e0f0
fix header file rename that happened since this branch was last worked on
2021-08-13 12:51:27 -06:00
498458c046
another try at newer-boost::rational fixes
2021-08-13 12:51:27 -06:00
1dcf797311
probably fix compilation with newer Boost::Rational library
2021-08-13 12:51:27 -06:00
d52fce70bd
export step sequencer pattern to SMF, GUI side
2021-08-13 12:51:27 -06:00
5c886ecb6e
export step sequencer pattern to SMF
2021-08-13 12:51:27 -06:00
617fcd660c
add operator% and operator%= to Temporal::Beats (taken from nutempo)
2021-08-13 12:51:27 -06:00
997f126643
more games with bbgui gui layout
2021-08-13 12:51:27 -06:00
93d2f6f433
remove debug output
2021-08-13 12:51:27 -06:00
f2e2cce343
fix an unfortunate "side-effect" of the frame->sample renaming
2021-08-13 12:51:27 -06:00
d30cd17b8b
more tweaks for beatbox gui
2021-08-13 12:51:27 -06:00
b18aaf0c7c
Rectangle border/sizing behaves like CSS border-box
2021-08-13 12:51:27 -06:00
27919fec61
items should not round their bounding box when requesting a redraw
2021-08-13 12:51:27 -06:00
9c071cd6ef
Canvas::queue_draw_item_area() now expands the passed-in rect appropriately
...
This means that a request to (re)draw the Rect (0.5,0.5,9.5,9.5)
will actually generate an expose event for (0,0,10,10)
Note: the above rects are of the form (x0,y0,x1,y1)
2021-08-13 12:51:27 -06:00
fa2fdc6f19
more fun with canvas box packing
2021-08-13 12:51:26 -06:00
35a9bcc409
add Rectangle::size_request() which returns actual rectangle size, not bounding box
2021-08-13 12:51:26 -06:00
a9c2e2f7e5
expose step sequencer's step's index
2021-08-13 12:51:26 -06:00
60f3985957
replace push2 call to Canvas::Box::pack_start() with Canvas::Box::add() which is equivalent
...
::pack_start() was removed
2021-08-13 12:51:26 -06:00
210702481b
add required virtual method to Push2Canvas
2021-08-13 12:51:26 -06:00
f8ea1b49a7
make more use of canvas box packing
2021-08-13 12:51:26 -06:00
12b4807bc9
add a very (very) basic resize/layout design to the canvas
...
Items call ::queue_resize(), which sets a flag in the canvas; at next idle, we call
Canvas::layout() which walks the item tree and recursively calls layout (depth first)
on all items needing a resize.
Only Container types implement layout, and so far only Box
2021-08-13 12:51:26 -06:00
03e32a22d0
make Item::add() virtual
2021-08-13 12:51:26 -06:00
3fb713370f
start using Canvas::Box as intended
2021-08-13 12:51:26 -06:00
2ae616bf44
fix incorrect location of step sequencer request object "deletion" (really: pool return)
2021-08-13 12:51:26 -06:00