13
0
Commit Graph

32747 Commits

Author SHA1 Message Date
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
b9c26ee4c4 add octave shifting and other API changes to better support beatbox GUI 2021-08-13 12:51:26 -06:00
1320af9b86 more work on beatbox gui 2021-08-13 12:51:26 -06:00
07a60ecb8b some API changes to help support developing GUI 2021-08-13 12:51:26 -06:00
ca869eda42 start on more structured code for step sequencer GUI 2021-08-13 12:51:26 -06:00
d37a61707b extend parts of StepSequencer API for better coding 2021-08-13 12:51:26 -06:00
ad29db76f3 velocity editing games 2021-08-13 12:51:26 -06:00
a5fd4c0c8a velocity editing games 2021-08-13 12:51:26 -06:00
784b6bc9e2 super basic prototyping of new beatbox gui 2021-08-13 12:51:26 -06:00
b2e111f491 extend step sequencer API to start data mods 2021-08-13 12:51:26 -06:00
07640ff488 add missing file 2021-08-13 12:51:26 -06:00
c41c622b37 another BBT comparator fix 2021-08-13 12:51:26 -06:00
d682e61b99 step sequencer now follows tempo map precisely; beatbox loses some functionality (for now) 2021-08-13 12:51:26 -06:00