Commit Graph

35961 Commits

Author SHA1 Message Date
David Robillard 494aa8dba1 Remove unused URIDs
These also had the wrong case: case is relevant here, classes are uppercase,
other things (properties and instances) are lowercase.  However, they seem to
be entirely unused now, so simply remove them instead of fixing this.
2022-08-31 18:50:43 -04:00
Paul Davis d2fc142e21 infrastructure and implementation to allow "q" to drive quantize-selected-notes in midi edit mode 2022-08-31 13:53:55 -06:00
Paul Davis 02b05f295a use selected (outline) color for MIDI note velocity bar (thanks, cooltehno, for the idea) 2022-08-31 13:53:43 -06:00
Paul Davis 3a8c443499 remove unused variables 2022-08-31 13:51:20 -06:00
Paul Davis b11ba8eec7 MIDI editing: primary+tertiary makes scroll do what it does when not editing 2022-08-31 12:16:14 -06:00
Paul Davis cbbc6f9b84 push2: use vector of pads rather than map when shutting down 2022-08-31 10:23:12 -06:00
Paul Davis 253dac007d push2: fully init and de-init buttons and pads at startup and shutdown 2022-08-31 10:22:24 -06:00
Paul Davis 681ca38848 push2: fix a couple of potential crashes 2022-08-31 10:11:02 -06:00
Paul Davis 7b855f0cc5 add code to linux packaging to download bundled content 2022-08-30 23:30:35 -06:00
Paul Davis 678ed40bd3 push2: fix pad colors etc. after layout switches 2022-08-30 21:37:16 -06:00
Paul Davis 748fbf6fb1 push2: add follow action icons to display 2022-08-30 16:51:34 -06:00
Paul Davis 6986c18163 push2: add clip names to display and slightly shift progress circle 2022-08-28 22:37:31 -06:00
Paul Davis b98ec59ed8 push2: another bunch of Live-chasing functionality for trigger control 2022-08-28 18:58:50 -06:00
Paul Davis 406080f1b8 triggerbox: sort-of NOOP - fix null return object in ::get_next_trigger() 2022-08-28 18:58:12 -06:00
Paul Davis aef1adc6f0 triggerbox: implement TriggerBox::peek_next_trigger() 2022-08-28 18:57:39 -06:00
Paul Davis 45144d841e triggerbox: add new "queued" property for Trigger and properly register it
Also register "currently_playing"
2022-08-28 18:56:56 -06:00
Paul Davis a06ed85269 push2: prep for triggerbox property changes 2022-08-27 21:21:22 -06:00
Paul Davis f6cfa3c3e1 push2: let's not crash 2022-08-27 16:25:09 -06:00
Paul Davis 741ff552a0 push2: start tracking route properties in cue layout 2022-08-27 16:22:07 -06:00
Paul Davis 06abdb4c4e push2: vector, not map 2022-08-27 16:03:01 -06:00
Paul Davis 6627d24c2b push2: add an (x,y) map for pads and use it 2022-08-27 15:53:03 -06:00
Paul Davis a5dd6c1128 push2: lots more clip control functionality and display 2022-08-27 12:55:16 -06:00
Paul Davis a1f69ee63b canvas: tweaks to Arc canvas item
Cairo uses 0 degrees to mean "east", so the "top" or "north" of
a circle is actually -90 degrees
2022-08-27 12:54:43 -06:00
Paul Davis b10a99dcad push2: clip stop ala Live 2022-08-27 08:32:15 -06:00
Paul Davis 19db8f9c68 control protocols: fix design of trigger unbang method 2022-08-27 08:32:03 -06:00
Paul Davis 3cffca9178 control protocols: add trigger unbang method 2022-08-27 08:26:08 -06:00
Paul Davis 8ed8895439 push2: launch clips with pads 2022-08-27 08:15:40 -06:00
Paul Davis 26c48aae1b control protocols: add trigger bang method to BasicUI 2022-08-27 08:15:17 -06:00
Paul Davis 092fdb5b46 push2: turn off scene buttons when appropriate 2022-08-26 19:31:15 -06:00
Paul Davis 1ecdeb25a7 push2: an ever-growing array of cue-related support 2022-08-26 19:23:43 -06:00
Paul Davis f835fb279a push2: don't like the clip button since it does nothing 2022-08-26 17:40:41 -06:00
Paul Davis f57669fbde push2: rename things to match the rest of ardour, and use Session button not Clip
the clip button is intended to "look at" a single clip and edit it
2022-08-26 17:40:04 -06:00
Paul Davis 17b0764639 push2: clip view actually visible via button on surface 2022-08-26 16:39:36 -06:00
Paul Davis dd2442b0c2 push2: skeleton for new clip view layout 2022-08-26 16:15:32 -06:00
Paul Davis 58d262384b fix error during rebase fixup 2022-08-26 14:49:29 -06:00
David Robillard 7670f87d0a Push2: Use condensed font to avoid overlap in scale menu 2022-08-26 14:10:40 -06:00
David Robillard 7883695ba9 Push2: Implement special "sequential" mode for in-key note grids
This makes "sequential" more or less mean an octave vertical interval,
but only for in-key mode.  For chromatic mode, "sequential" is still just a
naive wrap-around layout for every note.
2022-08-26 14:10:40 -06:00
David Robillard a6cd0a3f6e Push2: Ensure every pad is set up once when the grid layout changes
This juggles the implementation slightly in a way that's more resilient to
mistakes: the representation of pads in the surfaces is always fully reset
before setting up the grid, and a state message is sent for every single pad
once after the scale algorithm sets things up.

This means that scale algorithms don't need to deal with hairy edge cases like
running off the end of the scale or the valid range of MIDI notes.
2022-08-26 14:10:40 -06:00
David Robillard b6389bf274 Push2: Show both row and column interval explicitly in the same way
This hopefully makes the layout clearer to people who aren't familiar with what
all the settings mean.
2022-08-26 14:10:40 -06:00
David Robillard e4e874bed0 Push2: Add "fixed" and "rooted" note grid option 2022-08-26 14:10:40 -06:00
David Robillard ecd1a9660b Push2: Fix Db root button 2022-08-26 14:10:40 -06:00
David Robillard 380a24b837 Push2: Remove debug printing 2022-08-26 14:10:40 -06:00
David Robillard e93b7e2507 Push2: Add UI for changing the vertical interval 2022-08-26 14:10:40 -06:00
David Robillard d5ca05edff Push2: Implement a vertical interval for "tuning" the pads
The implementation is generic, but the actual call is hardcoded to 4ths here.
UI to follow.
2022-08-26 14:10:40 -06:00
David Robillard b35796af75 Push2: Factor out set_pad_note_kind()
Factors button details out of the scale algorithm, to make it more clear.
2022-08-26 14:10:40 -06:00
David Robillard 2af9c2180a Push2: Mostly fix scale menu text rendering (#8599)
"Mostly" because there are still some issues with horizontal overlap between
entries, but I think that's something that needs to be addressed separately.

Like earlier issues, this was caused by using a screen-derived or default
cairo/pango context.  I also tinkered with some constants to make things look
sensible to me, and hopefully everywhere since it should always look the same
with the context fix.
2022-08-26 14:10:40 -06:00
David Robillard 2a31e0721d Push2: Invert splash screen
This looked janky and out of place to me, since everything else is on black and
the LCD doesn't seem to do light backgrounds very well in general.
2022-08-26 14:10:40 -06:00
David Robillard c4632da2e7 Push2: Drop "using namespace std"
No functional changes, just makes some more context explicit like the previous
commit.
2022-08-26 14:10:40 -06:00
David Robillard 61088a1a01 Push2: Use consistent naming convention for private member variables
No functional changes, just makes code easier to read.
2022-08-26 14:10:36 -06:00
Paul Davis 6379c28b76 remove debug output 2022-08-25 15:15:52 -06:00