Commit graph

85 commits

Author SHA1 Message Date
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Paul Davis
70b41d10b1 actally stop doing clip recording visual stuff when disarmed (gui) 2024-10-18 09:50:48 -06:00
Paul Davis
229506147a playhead for MIDI clip editor during playback (first steps) 2024-10-17 15:06:33 -06:00
Paul Davis
e390c2c3dd trigger page should respond to rec-enable changes 2024-10-17 07:44:33 -06:00
Paul Davis
d7e85de7c2 first somewhat version of show-clip-capture MIDI notes as they arrive 2024-10-17 07:44:33 -06:00
Paul Davis
35f16f1bb6 preparations for clip data display (MIDI) while recording (GUI edition) 2024-10-17 07:44:33 -06:00
Paul Davis
1961a9207c provide a better method to decide if a trigger(slot) is occupied
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.

GUI edition.
2024-10-17 07:44:32 -06:00
Paul Davis
ee305a7169 catch up on TriggerReference API changes in GUI 2024-10-17 07:44:31 -06:00
Paul Davis
69871e0021 trigger page: use a VPane so we can enlarge the cue editor if desired
Plus fixup to get MIDI notes redrawn as pane is resized
2024-10-17 07:44:31 -06:00
Paul Davis
fcfa4fecb4 more preparation for MIDI cue editing to propagate to the slot (trigger) 2024-10-17 07:44:30 -06:00
Paul Davis
0d01e73b86 some state mgmt for EditingContexts 2024-10-17 07:44:30 -06:00
Paul Davis
fcf5bb88d5 cue editor/piano roll: starting to get mode buttons working and keybindings too 2024-10-17 07:44:30 -06:00
Paul Davis
e3205bded0 do something to make MIDI bindings accessible in any EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
182a24751b get standalone MidiView to display notes
This also removes an unused TriggerBoxWidget from each regular
MixerStrip.
2024-10-17 07:44:29 -06:00
Paul Davis
2b997343a4 first working visual evidence of MIDI display/editing on cue page 2024-10-17 07:44:29 -06:00
Paul Davis
204d4237f8 further steps towards MidiRegionView outside the Editor 2024-10-17 07:44:29 -06:00
Paul Davis
6149771910 fix yet more cases where SMF are imported and named incorrectly 2024-10-15 22:35:04 -06:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis
303f838a53 define new actions for stopping triggers/slots 2022-12-10 10:33:39 -07:00
Robin Gareus
d808315e2a
Offer dedicated alternatives for Delete/Backspace
This follows Processor Box:
 <Binding key="Delete" action="ProcessorMenu/delete"/>
 <Binding key="BackSpace" action="ProcessorMenu/backspace"/>
2022-12-02 19:50:39 +01:00
Robin Gareus
899cacdf86
Delete/BackSpc clears selected trigger-clos 2022-12-02 19:19:20 +01:00
Paul Davis
93adb3fe1f bindings and actions for trigger stuff owned by trigger page 2022-11-16 14:15:34 -07:00
Paul Davis
0c2176dd71 move default_triggers_per_box into a namespace ; change value for Ardour to 16 (GUI edition) 2022-10-04 19:55:15 -06:00
Robin Gareus
07dea50456
Fix DnD import to grouped tracks
Import via Drag/Drop previously worked by selecting a track,
and then importing to the selected track.

This approach fails when the selected track is in a track-group,
and selecting the track also selects other tracks of different type.

Now the track to drop onto is passed directly passed through to
::finish_bringing_in_material as existing_track.
2022-09-30 21:30:48 +02:00
Mads Kiilerich
7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Mads Kiilerich
d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped() 2022-04-08 20:20:10 +02:00
Paul Davis
ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
Ben Loftis
de9f73c040 cue page: remove the unmarked rec-enable button from the cues column 2022-02-12 21:46:30 -06:00
Ben Loftis
40b483e71e trigger_ui: move the patch-dialog to the properties area.
* patch-dialog is now launched from a button and stays open
* patch-dialog now tracks the current selection
2022-02-11 15:32:00 -06:00
Robin Gareus
42df6be0fa
Show Trigger Patch Selector on selection 2022-02-09 21:09:46 +01:00
Robin Gareus
e3e7f587bd
Use audition synth when creating new trigger tracks via DnD 2022-02-09 14:32:12 +01:00
Ben Loftis
9ad82787a1 Instrument Selector: use a 3-way Disposition to disambiguate the uses of this widget 2022-02-04 21:33:12 -06:00
Robin Gareus
511ff3290f
Implement TriggerStrip selection
This also changes TriggerBox Selection to act on release
(like all other selection). Otherwise strip selection will
de-select the TriggerBox on mouse-release.
2022-02-03 05:50:07 +01:00
Ben Loftis
2df7a8d961 terminology: set the title of the Cue(s) Window 2022-01-31 20:25:06 -06:00
Ben Loftis
5f10817126 trigger_ui: add menu items and bindings to trigger Cues A-H 2022-01-31 20:25:05 -06:00
Robin Gareus
92024697aa
Prepare clip-export DnD 2022-01-29 03:04:17 +01:00
Robin Gareus
fe49558429
Correctly order TriggerStrips on TriggerPage 2022-01-27 04:06:13 +01:00
Robin Gareus
194dfc1717
Add Tracks to TriggerPage sidebar 2022-01-27 01:28:50 +01:00
Ben Loftis
760c55b0b2 Cue Page: the property-box does not need a resizable pane 2022-01-26 17:57:55 -06:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Ben Loftis
986942fe96 Cue Page: rename Trig -> Cue 2022-01-25 19:50:57 -06:00
Robin Gareus
b6b9d9231b
Trigger page, slot property layout hacks
The layout should eventually really be simplified.
Use a HBox, remove nested tables, get rid of tables with only
one Frame inside. etc.
2022-01-24 19:28:58 +01:00
Robin Gareus
5b5d8e72f1
Tweak TB layout: same height for all slot-property frames 2022-01-24 18:53:58 +01:00
Ben Loftis
dab9f8d226 trigger page: theme the rec-enable button 2022-01-23 20:24:44 -06:00
Ben Loftis
d6815d7e40 trigger page: rough-in a control for Cue Recording 2022-01-21 17:45:26 -06:00
Ben Loftis
094fbfa132 trigger page: shrink Cue column to minimum (?) 2022-01-21 17:45:26 -06:00
Paul Davis
2152e7ba3b triggerbox: change FollowActions into an object with a target list (GUI edition) 2022-01-19 15:50:55 -07:00
Robin Gareus
b51621a1ae
Fix assert() when using DnD to import MIDI files
When importing a multi-track MIDI files with identical track-names,
Ardour would create the same file for each track. Effectively
overwriting an existing file.

The following MIDI file would create the same file twice
in `interchange/`, once for each MTrk.

```
MFile 1 2 240
MTrk
0 Meta SeqName "Foo Bar"
0 TimeSig 4/4 24 8
0 Tempo 666667
0 Meta TrkEnd
TrkEnd
MTrk
0 Meta TrkName "Foo Bar"
0 On ch=10 n=36 v=95
...
```
2022-01-19 19:22:51 +01:00
Robin Gareus
d4b436b4c5
Add SourceList to TriggerPage 2022-01-19 17:13:51 +01:00
Robin Gareus
c0ac99003b
Add RegionList to TriggerPage 2022-01-19 17:13:51 +01:00