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
1edcc3d279
remove debug output
2021-08-13 12:51:26 -06:00
c9e4d3f045
alter note off handling in step sequencer to be global to the whole sequencer
2021-08-13 12:51:26 -06:00
5803b30c47
show timing offsets using reduced musical ratios
...
which begs the question about the step size for timing adjustments
2021-08-13 12:51:26 -06:00
0731b045e1
remove hard-coded but unused constants
2021-08-13 12:51:26 -06:00
5dfc061792
GUI manipulation of note timing with horiz drag
...
Unfinished and may change
2021-08-13 12:51:26 -06:00
eb139acab6
change API to adjust note timing
2021-08-13 12:51:26 -06:00
db195c3dfe
add new timing (slip) mode button for beatbox gui
2021-08-13 12:51:26 -06:00
452b24cbf6
further work on beatbox/stepseq GUI
2021-08-13 12:51:26 -06:00
aceec18510
adjust StepSequence API(s) to meet needs
2021-08-13 12:51:26 -06:00
9869b0266b
add support for rounded corners to Canvas::Rectangle
2021-08-13 12:51:26 -06:00
fcc07cb3d0
add new widget/style for generic large font floating entry
2021-08-13 12:51:26 -06:00
d5facc08f7
get mode button rendering slightly more correct
2021-08-13 12:51:26 -06:00
4f671a0950
make ArdourCanvas::Rectangle render its children
...
it is common to want to pack things inside a rectangle, so make it work
2021-08-13 12:51:26 -06:00
4c622551ea
layout work for new "buttons" to control/show control mode
2021-08-13 12:51:26 -06:00
2203128b61
further work on sequencer GUI
2021-08-13 12:51:26 -06:00
c0edd61d75
more redesign of beatbox fundamentals, adding back RT-safe modifications to sequencer
2021-08-13 12:51:26 -06:00
e5ec4ab959
steps in the evolution of beatbox
2021-08-13 12:51:26 -06:00
8fb67e15ea
steps in the evolution of beatbox
2021-08-13 12:51:26 -06:00
52fcb1d0da
click (press-no-drag-release) handled as specific user gesture
2021-08-13 12:51:26 -06:00
ba84a1ccc7
API to set step velocity to absolute value
2021-08-13 12:51:26 -06:00
20047e09f2
mouse drag operations in beatbox
2021-08-13 12:51:26 -06:00
62eb966dae
comment updates
2021-08-13 12:51:26 -06:00
e1d82bce04
use rational number for step durations
2021-08-13 12:51:26 -06:00
25f67e3f16
use rational number for step durations
2021-08-13 12:51:26 -06:00
c37d81e0c1
allow GUI to modify step duration (gate length)
2021-08-13 12:51:26 -06:00
870b142f9b
API for adjusting step duration (gate length)
2021-08-13 12:51:26 -06:00
f127739bcb
improving object design for beatbox GUI
2021-08-13 12:51:26 -06:00