13
0
Commit Graph

36045 Commits

Author SHA1 Message Date
20258ecb4c Kurzweil PC3A midnam file: remove XML comments not correctly handled by parsing code 2022-08-19 11:55:47 -06:00
Mads Kiilerich
4b8aa51093 artest: clarify that the tool in gtk2_ardour is testing libs/
Avoid confusingly general sounding
	-------------------------------------------
	Running tests for ardour...
	-------------------------------------------
2022-08-19 11:06:28 -06:00
Mads Kiilerich
9f69b8ccd9 tests: more helpful assertion failures from check_nodes
Tests would fail as:

  Test name: AutomationListPropertyTest::basicTest
  equality assertion failed
  - Expected: 4
  - Actual  : 5

It is slightly more informative when the size assertion is the last
check and it fails as:

  - Expected: state
  - Actual  : time-domain

The performance benefits from checking size first is not relevant.
2022-08-19 11:05:52 -06:00
Mads Kiilerich
58cc2aed87 tests: update automation list reference data
With this, all tests are passing for me.

While Ardour doesn't use TDD and has low test coverage, it is nice to
maintain that all active tests are passing.
2022-08-19 10:59:26 -06:00
Mads Kiilerich
3fa64af624 osc: fix warning message
Apparently just a missing update from copy-paste.
2022-08-19 10:58:41 -06:00
Mads Kiilerich
176bbca821 freedesktop: install icons to match the versioned Icon name used in the .desktop file 2022-08-19 10:58:25 -06:00
Mads Kiilerich
071f3e79c2 configure: clarify that --optimize just is the opposite of --debug
Optimize is just "normal".
2022-08-19 10:57:17 -06:00
Mads Kiilerich
1f1565e08b surface faderport: drop old debug print
This showed up in test output, and was introduced 5 years ago in
ecc2348ecc .
2022-08-19 10:56:55 -06:00
dd455bdd97 use correct redirect for donate URL 2022-08-19 10:31:38 -06:00
cooltehno
7430f6e3f6 Update clear_gray-ardour.colors 2022-08-19 10:28:55 -06:00
itmuckel
63f94d2946 Remove unused includes 2022-08-19 09:27:19 -06:00
Nil Geisweiller
3af788018d Add Roland A-30 binding map for controlling Ardour's Play/Stop 2022-08-19 09:22:55 -06:00
Jakob Dübel
c76090139a Add program names for Kurzweil PC3A series, object version "2.31.2". 2022-08-19 09:21:29 -06:00
3327f5b9f1 some rationalization of drag types from various rulers
At present, TempoTwist is Primary-drag on the tempo ruler, and TempoCurve is Primary-drag on the meter
ruler. Not sure that this is quite what we want here, but it makes more sense than the prior
design, in which TempoTwist was available from non-tempo-related rulers
2022-08-18 14:16:25 -06:00
5738f3d1b1 bbt markers: Primary-click on BBT ruler to create 2022-08-18 14:06:05 -06:00
eadd26b379 amend 31640a9a5b by reverting action name back to fork-region
This avoids breaking bindings, and since the action name is generally not a part of the GUI,
really doesn't hurt anything in terms of understandability
2022-08-18 09:27:43 -06:00
31640a9a5b gtk2_ardour: implement "Unlink from unselected" for MIDI regions
An attempt to satisfy #8848.

Add a new action, "fork-regions-from-unselected", which unlinks all
selected MIDI regions from any unselected regions, but maintains links
within the selection, and add the new action to the region MIDI context
menu as "Unlink from unselected". Rename the existing "fork-region" action
to "fork-selected-regions", and amend the existing "Unlink from other
copies" menu item to "Unlink all selected regions" to (try to) clarify the
difference.

Attach the <Tertiary>U default key-binding to the new action: I personally
think it's generally slightly more useful (otherwise I wouldn't have
implemented it), though I'm not that fussed.

In the case that there's only one MIDI region selected, or that none of
the selected regions are mutually linked, both actions will have exactly
the same result. Ideally, we'd only show a single menu item in this case,
but that would require (a) implementing a function to check whether the
selection contains any linked regions, and (b) making the region MIDI
context sub-menu dynamically generated, so that it can change based on the
result of that function, neither of which I've tried to do yet.
2022-08-18 09:18:25 -06:00
cooltehno
b8f21b2acf Update dark-ardour.colors 2022-08-18 09:07:51 -06:00
2f7f313f6d MIDI combine (basically operational)
May need some tweaks to address notes that are cut off by the end of the region
2022-08-18 07:45:05 -06:00
ffc9239de5 ControlList: replace code use to interpolate MIDI CC curves
Original code is of questionable historical provenance, and
was needlessly (it seems) complexity. New code is relatively
simple arithmetic linear interpolation.
2022-08-17 20:55:17 -06:00
fc6ad8ebd9 bbt markers: all the basics of dragging, editing, removing 2022-08-17 16:40:35 -06:00
025dfa6062 tempo map: fix logic error in ::reset_starting_at() relating to tempo/bbt markers 2022-08-17 16:40:14 -06:00
6784f0e5dc basic skeleton for BBT marker drag 2022-08-17 16:40:02 -06:00
965fe9946b BBT markers: put BBT position in their tooltip
Tooltip will need updating once drag is working correctly
2022-08-17 16:39:46 -06:00
3259ab2d41 tempodisplay: correctly redisplay tempo map stuff after adding a BBT marker 2022-08-17 16:39:32 -06:00
6371049eaf
OSX packaging, update x42-download URL/ID 2022-08-13 20:49:48 +02:00
b03e9b4c10 NOOP: add helpful explanatory comment 2022-08-12 09:21:23 -06:00
ce46b791ea
VST3 scan: don't clutter log with bus-info messages 2022-08-12 16:08:23 +02:00
839400f438
Fix peak-thread race on session-load
Session dirs must exist when loading Sources of a project.
SourceFactory::init() starts the PeakFileBuilder background thread
early on when libardour is initialized.
This thread [re-]creates missing peak files when Sources are
created or loaded. However AudioSource::prepare_for_peakfile_writes
assumes the peak/ folder exists. This may not be true, which lead to
"AudioSource: cannot open _peakpath [..] (No such file or directory)"
errors.

Also drop creation from Source::get_transients_path() as this
may be called concurrently from Analyser background threads.
2022-08-12 01:36:43 +02:00
69d3bd8821 new-user dialog: updated text; more consistent fonts and layout 2022-08-11 16:53:56 -05:00
610b5dddbf ControlList: GUARD_POINT_DELTA needs to take time domain into account 2022-08-11 15:26:42 -06:00
373a73cb51 fix selectability of region-associated automation (i.e. MIDI)
The fix here is really just dropping the use of _offset when computing the session position
of a control point. This was just an arithmetical error.

However, session_sample_position() was redundant and just caused more work, so this
method was removed, and only ::session_position() is now used.

In addition, several closely related places now use C++11 (or later) "auto"
syntax for iterating over containers, for cleaner looking code
2022-08-11 15:26:42 -06:00
9327027d98
Revert "Ensure disk buffer refills happen in the right thread"
This reverts commit 96ebac646d.

There are some valid cases where refill is called from the GUI
thread. e.g adding tracks, or adding channels to an existing track.
2022-08-11 22:45:13 +02:00
96ebac646d
Ensure disk buffer refills happen in the right thread 2022-08-11 19:14:51 +02:00
63c068227f
Improve DR refill error messages to aid debugging 2022-08-11 19:14:51 +02:00
9453802248
Fix "when refilling, cannot write" disk-reader bug
This happened initially during session load.
The GUI thread performed a direct refill (blocking wait)

`Session::post_engine_init() -> Track::seek() -> DiskReader::seek() -> DiskReader::do_refill_with_alloc()`

while concurrently the butler thread does the same:

```
Session::butler_transport_work() -> Track::non_realtime_locate() -> Route::non_realtime_locate()
-> DiskIOProcessor::non_realtime_locate() -> DiskReader::seek() -> DiskReader::do_refill_with_alloc()
-> DiskReader::refill_audio()
```

We do not want the GUI to wait, so now we just request a locate
and let refill happen in the background.
2022-08-11 19:14:51 +02:00
7aef0cd191 fader colors: use correct UIConfig var name and exclude master bus correctly 2022-08-11 08:45:31 -06:00
870a51b691 fader coloring: ignore master, and rename UIConfig option to be more generic now (also text in prefs) 2022-08-11 08:22:49 -06:00
04ad500998 set mixer strip fader name always, so that bg is set from style 2022-08-11 00:07:53 -06:00
27f4302a7d ardourfader: more complete support for explicit fg 2022-08-11 00:07:30 -06:00
24253c20f3 remove no-longer-used method 2022-08-11 00:07:05 -06:00
340bba15f2 fix typo 2022-08-10 22:37:16 -06:00
6d85759cf8 optionally tinted faders in mixer view 2022-08-10 22:34:52 -06:00
9e8a5f15c9 optionall colored faders in editor 2022-08-10 22:34:36 -06:00
f8a77c7dcb add API to GainMeterBase to allow use of explicit fader colors 2022-08-10 22:34:33 -06:00
bfa40895b3 add 2nd method to RouteUI to get a (possible) variant of the route color for "tinting"
Currently returns the same value as ::route_color()
2022-08-10 22:33:40 -06:00
aee41bfba6 ardourfader: basic use of explicit fg/bg color 2022-08-10 22:32:42 -06:00
9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -06:00
a2e4897a49 move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (libs) 2022-08-10 21:11:46 -06:00
32c2ed3f21 ardourfader: further steps to per-fader colors 2022-08-10 18:26:49 -06:00