Commit Graph

36108 Commits

Author SHA1 Message Date
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
Paul Davis 3c0820e36e move default_triggers_per_box into a namespace ; change value for Ardour to 16 2022-10-04 19:55:05 -06:00
Paul Davis 34d339ab5d MIDI copies are now unlinked by default 2022-10-04 18:32:02 -06:00
Robin Gareus 0d9e362e8c
Bring back useful clip files for testing when building from source
This reverts commit efca0ee433.
and commit a410a6fd26.
2022-10-04 22:27:03 +02:00
Paul Davis efca0ee433 remove .daw-meta.xml from share/media 2022-10-04 13:44:06 -06:00
Paul Davis a410a6fd26 remove useless click clips from share/media 2022-10-04 13:44:06 -06:00
Robin Gareus e14bef1619
Fix unzip, allow to overwrite .daw-meta.xml file 2022-10-04 20:39:14 +02:00
Paul Davis 980404d73c refill library download dialog on show 2022-10-04 11:18:55 -06:00
Paul Davis d7a88eecb1 libraryfetch: add description count 2022-10-04 11:18:40 -06:00
Paul Davis bbe68542e8 fetch and include MIDI bundled content during packaging of Ardour 2022-10-04 11:01:59 -06:00
Paul Davis b40179854a Revert "no bundled content for Ardour"
this was a mistake.

This reverts commit 9662e6eac0.
2022-10-04 11:01:59 -06:00
Mads Kiilerich a23e137723 When exporting with .cue file, use latin1 for filename as well
Before, the .cue file could end up with a mix of latin1 and utf-8
encodings. Utf-8 works better for many things, but that doesn't matter
when the .cue file has to be in latin-1.
2022-10-04 16:52:04 +02:00
Robin Gareus b269a1298c
Fix memory leak for invalid SMF event 2022-10-04 03:29:52 +02:00
Robin Gareus 88bd2115a0
Consolidate signal emission, fix RWLock deadlock
Play loop, change loop-location, undo.

Undo calls Locations::set_state, takes a writer-lock,
and calls Location::set_state which emits a Changed signal.
This triggers Editor::location_changed, and if loop-location
changed while looping, update_loop_range_view() queries the
loop location, taking a reader-lock.

This leads to a recursive lock, RWLock::ReaderLock after
a RWLock::WriterLock does not cause a deadlock, however
releasing the ReaderLock effectively also unlocks the WriterLock.
This leads to a deadlock next time a writer-lock is acquired.
2022-10-04 01:12:50 +02:00
Paul Davis a0c93328ea push2: fix intended behavior of push2 "lower buttons" 2022-10-03 15:41:50 -06:00
Paul Davis 9662e6eac0 no bundled content for Ardour 2022-10-03 15:21:40 -06:00
Paul Davis 0938d21c30 change add new bbt marker from primary-click to context-click on BBT ruler 2022-10-03 14:16:34 -06:00
Ben Loftis 374ff2b12d fix thinko in unbang behavior 2022-10-03 13:47:55 -05:00
Paul Davis fe0cde3781 route group dialog grabs focus when shown 2022-10-03 12:15:43 -06:00
Robin Gareus aedf697646
Fix crashes due to missing return value
due to -fomit-frame-pointer a missing return value leads
to stack corruption. This also fixes the return type.
2022-10-03 19:38:30 +02:00
Robin Gareus a0a2138651
Highlight auditioned clips
This changes the color of auditioned clips in the clip-list.
The highlight is reset when changing folders or when importing
a clip via DnD.
2022-10-03 01:19:50 +02:00
Robin Gareus 61fc46ff79
Fix missing Lua bindings
* RecordMode is required for Session Config set/get_record_mode.
* TempoMap::dump requires C++ std::ostream&
2022-10-02 14:33:06 +02:00
Robin Gareus 9ed82713de On popular demand, hide splash instead of push it back
Sadly some popular Window Managers do not follow
freedesktop.org specifications.  This results in Ardour's splash
screen obscuring session setup dialogs on those systems.
2022-10-01 19:38:43 +02:00
Robin Gareus 0f6a2f7320 Remove unneeded scope 2022-10-01 19:01:49 +02:00
Robin Gareus 0b70550b42 Fix width of draw-grid dropdown menu 2022-10-01 19:01:30 +02:00
Robin Gareus 751de3889e Fox grid dropdown menu width
Take submenu items into account, which have strings longer than
GridTypeBeatDiv32 text
2022-10-01 18:53:45 +02:00
Robin Gareus a626f1f0d5 Synchronize grid menus (#8973) 2022-10-01 18:04:30 +02:00
Robin Gareus 891b561cad Cleanup: use dedicated method to build draw menu 2022-10-01 18:03:03 +02:00
Robin Gareus 8f125a0ab4 tracks is no more 2022-10-01 17:37:38 +02:00
Robin Gareus 04647d5ae5 More unit-tests updates
* move RangeTest to libtemporal tests
* remove BeatsTest,  already converted from
  Evoral to temporal/BeatTest.cc
2022-10-01 16:57:12 +02:00
Ben Loftis 42a4216f22 osc: publish session-provided trigger functions: bang/unbang 2022-10-01 09:13:14 -05:00
Ben Loftis 7fe7adb83c push2: adapt to new unbang and 'stop' semantics (needs testing) 2022-10-01 09:13:14 -05:00
Ben Loftis 6c292a83da basic_ui: use session-provided bang/unbang functions 2022-10-01 09:13:14 -05:00
Ben Loftis 29dc388bbc triggerbox: change bang/unbang semantics. UnBang != Stop
'unbang' is better described as a mouse-up or button-release event

* if launch-style is Gate or Repeat, then UnBang will stop the playing clip
* in other launch-styles, UnBang is ignored

some prior code using UnBang will change to
  stop_quantized()  or  request_stop()
2022-10-01 09:13:14 -05:00
Ben Loftis 2829f4385f triggerbox: publish some trigger functions to ::session (for the convenience of control surfaces)
Grid controllers will largely want to access clips in the order they appear on the Cue page

It is up to the device (and/or its ControlProtocol) to handle banking
2022-10-01 09:13:14 -05:00
Ben Loftis 07f47ff6a5 remove unimplemented bang_trigger() and replace with bang_trigger_at(n)
normally we operate on TriggerPtr's which are a safe way to track
 trigger lifetime, safely modify their properties, and launch them.

bang_trigger_at() is a convenience function to look up a trigger by index,
 and launch it, in one step.  Potentially useful for control surfaces.
2022-10-01 09:13:14 -05:00
Ben Loftis 1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
Ben Loftis 75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
Ben Loftis ddfefa2583 remove some debug printfs 2022-10-01 09:13:14 -05:00
Ben Loftis be28c9ff88 osc: add functions to trigger cue rows, and stop all triggers 2022-10-01 09:13:14 -05:00
Alexandre Prokoudine 9af2c31d6b Update Russian translation, part 3 of N 2022-10-01 14:29:03 +03:00
Robin Gareus c09e66bb25 Fix apple/ARM FPU test, allow for FLT_EPSILON for unaligned math 2022-10-01 06:28:07 +02:00
Robin Gareus 49f7e4d447
Amend 07dea50456 (DnD import, copy to track) 2022-10-01 03:38:34 +02:00
Robin Gareus 61d192723a
More windows build fixes (see prev. commit) 2022-10-01 03:01:03 +02:00
Robin Gareus 1684b1b99a
Fix Windows build
Add cross DLL/exe reference
undefined reference to `luabridge::ClassInfo<boost::shared_ptr<ARDOUR::Track> >::getClassKey()
2022-10-01 02:49:25 +02:00
Paul Davis b2145521d9 triggerbox: handle tempo map changes better inside and around MIDI triggers
We now try to get to the right location within the MIDI data and continue
playing, rather than pretending that we reached the end.

This also fixes a thinko that caused only the first few notes of a
MIDI trigger to play.

This may also solve cases where due to length, sample rate and tempo
settings, a trigger finished precisely on a ::run() call boundary.
2022-09-30 17:23:41 -06:00
Paul Davis 4f7c1aba24 libardour: infrastructure for notifying routes of tempo map change
The call to the Session is made before we call ::process(), from the
AudioEngine. Currently, only MIDI triggers care about this.
2022-09-30 17:21:43 -06:00
Paul Davis 173de9f0ef change MidiRegionView scroll behavior to somethings slightly more useful
1. leave tertiary-scroll for navigation and primary scroll for session timeline zoom
2. unmodified scroll in edit mode scrolls contents
3. secondary-scroll zooms in and out on contents (i.e. vertical zoom for MIDI)
4. primary-secondary scroll has the just-one-edge behavior previously provided
2022-09-30 16:32:29 -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
Robin Gareus 20088062bb
Allow to create a `shared_ptr<Track>()` from Lua
This is relevant for an upcoming API chnage where `do_import`
requires a boost::shared_ptr<ARDOUR:Track>.
2022-09-30 21:30:48 +02:00