13
0
Commit Graph

15445 Commits

Author SHA1 Message Date
8e5e902b5c
Fix sending MMC Start/Stop messages
Ardour 5.x slave check was incorrectly ported to A6's TMM:
In Ardour 5 the comparison tested for *not* MTC:
```
  if (!dynamic_cast<MTC_Slave*>(_slave)) { ..send MMC.. }
```

Other MMC messages (Record, Locate) are sent unconditionally.
2020-01-27 21:49:53 +01:00
44440f9316
Add new requirements from AudioEngine::stop to ::drop_backend
This fixes an issue that after changing backends (::set_backend),
the session-transport was in inconsistent state. If it was rolling,
it continued to roll with "stop" being unavailable.
2020-01-27 20:26:06 +01:00
5c789547cb
Fix building unit-tests 2020-01-27 17:43:37 +01:00
f101a657f2
Fix two more clang static analysis warnings 2020-01-27 17:42:28 +01:00
f9cc630b10
Delete out-of-bounds metronome clicks 2020-01-27 03:35:28 +01:00
fc7dd5115d
Fix some clang-scan warnings 2020-01-27 03:31:49 +01:00
2d07e72d40
Fix the ability to set Session Start&End Range on a new, empty session
set_session_extents had a bug; it wasn't calling locations->add()
on the newly created location.

The correct implementation was in set_session_range_location,
but this was only called from one place.
This function was removed, and set_session_extents will be used in its place.
set_session_extents will create a session location if one no longer exists,
so there is no need for set_session_range_location.
2020-01-26 19:33:41 +01:00
db465b5b43
Fix Loop-length (no pre-roll on loop-iterations) 2020-01-26 05:15:24 +01:00
83e4b9f7eb remove debug output 2020-01-25 14:25:30 -07:00
3b65b430aa
Remove midi-event by iterator, not key -- #7885
With concurrent events removing by key, allowed for invalid
iterators.
2020-01-25 22:15:37 +01:00
4fe3036495
Update waf2.x "subst" feature uses obj attributes 2020-01-25 06:20:28 +01:00
7c381dab6e
Downgrade "using all channels" warning to info - part 2 2020-01-25 04:17:53 +01:00
5a841ef462
Tweaks to build/package scripts for new waf
* Windows: delete waf installed .dll.a files
* Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR
  with explicit --libdir
* Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for
  debug messages, -D defines are not available)
* Mac: override waf adding -install_name (and
  -Wl,-compatibility_version -Wl,-current_version)
  by moving -dynamiclib from linkflags to ldflags
* Mac: Allow libs with compat version number suffix
  (not needed anymore, but may help in the future)
2020-01-25 04:07:42 +01:00
06b2eb1c27
Explicitly use OSX
Previously this was inherited via PBD.

On MacOS/X,  this adds
  "-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags

Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")

On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
David Runge
2e9ac80e99
Towards waf python 2+3 support 2020-01-25 04:07:37 +01:00
0db559c0ac
Special case checkbox border color in Treeview 2020-01-25 03:40:04 +01:00
f9e7f10695
Downgrade "using all channels" warning to info message 2020-01-24 21:16:40 +01:00
df8c0d949e
Engine: debug-print alignment 2020-01-24 19:15:21 +01:00
72e385af46 tentative fix for stop-transport not working after a locate at loop end 2020-01-23 23:41:39 -07:00
71ccca52a9 add more debug output 2020-01-23 14:25:38 -07:00
7da3305a04 use Session::locate_initiated(), appropriately 2020-01-23 14:25:38 -07:00
5949fec987 add Session::locate_initiated()
This differs from ::locate_pending() by covering either phase of a locate - declick or refill
2020-01-23 14:25:38 -07:00
587631f1d9 add TransportFSM::declicking_for_locate() 2020-01-23 14:25:38 -07:00
56d00ef32a extend DEBUG_TRACE output 2020-01-23 14:25:38 -07:00
ef12a4f5a9 NOOP: whitespace/indent fixes from emacs 2020-01-23 14:25:38 -07:00
87a5990e54 MIDI-region specific naming logic
plus slight cleanup of Region::set_name().

Note that issues with ARDOUR::legalize_for_path() not excluding colons still remain
2020-01-23 14:25:38 -07:00
c3f7940f25 NOOP: remove blank line 2020-01-23 14:25:38 -07:00
31db7e91d8 remove no-longer used PostTransportWork bits and renumber the rest 2020-01-23 14:25:38 -07:00
9b7db16a0b after the butler has finished work, by definition there is nothing left to do 2020-01-23 14:25:38 -07:00
3f4021c4ea variable not used without debug mode 2020-01-23 14:25:38 -07:00
Nikolaus Gullotta
85f27b28be
Only select all routes in a given group if the group is active 2020-01-23 12:58:59 -06:00
61e7f3176b do not clear any PostTransportWork flags in butler thread
doing this was causing the TFSM to get stuck in "WaitingForButler"
2020-01-21 21:50:35 -07:00
a765e52b47 add a heuristic to avoid refilling playback buffers at transport stop
If we're within 1/6th of the size of the reserved buffer of the target sample, no need to refill
2020-01-21 21:50:35 -07:00
981ee0060a remove debug output 2020-01-21 21:50:35 -07:00
95f3977f07
Do not install static libs
There is no need to deploy .a with ardour installations.
2020-01-22 02:00:25 +01:00
6ce1c326a9
Display LV2 plugin-name with errors/warnings 2020-01-21 22:32:59 +01:00
9d2a209f60 Change tape-machine-mode to auto-input-does-talkback (libardour part)
In prior versions: if Auto Input was enabled, the default behavior was
to monitor the Input of all tracks when stopped; even if they aren't armed.

Tape Machine Mode changed the behavior of Auto Input so that it doesn't
always monitor the track inputs when transport is stopped.

After some discussion on IRC, we determined that Tape mode is likely
more practical for a DAW user, and therefore a better default.

Rather than default an ambiguously-named preference "on", we decided
to invert the behavior, rename it sensibly(?), and default it OFF.
2020-01-20 12:19:15 -06:00
ad82b443f4 fix API and use of Session::force_locate()
Because of the addition of LocateTransportDisposition, this call was unconditionally forcing a roll during startup
2020-01-20 11:07:27 -07:00
a439d8bbe4 fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll() 2020-01-18 21:14:17 -07:00
620ab66e75 remove fragile union design
Absurd to be memory-conscious about a couple of member variables in an object that represents user input
2020-01-18 19:59:24 -07:00
d83cd05882 fix broken-ness caused by bad initialization of a StopTransport event in TransportFSM 2020-01-18 19:59:24 -07:00
61e53e303b
Fix ISO compliance 2020-01-18 19:09:36 +01:00
d7801ab7ee
Add timestamp to log -- #7877
This adds the time when a log message is displayed.
ARDOUR_UI::display_message() parses the prefix,
so the timestamp cannot be prefixed in the beforehand.

Still, UI::process_error_message() is called directly in
the same thread, so this makes no significant difference.
2020-01-18 18:18:05 +01:00
47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
3c00048b0c Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
3fe87b9fa1
Fix MIDI capture alignment
This fixes Audio/MIDI alignment when recording normally.
Loop and/or Punch-in recording is still not aligned properly
(both audio and MIDI).

_accumulated_capture_offset is initialized once, accumulated
offsets (rec_nframes) are kept, even when ::check_record_status()
is called multiple times.
2020-01-18 15:52:28 +01:00
7c8072b0b7
Zero capture-offset regardless of data-type
_accumulated_capture_offset is only used for MIDI,
however this is helpful when debugging.
Previously audio kept accumulating the offset indefinitely.
2020-01-18 15:49:22 +01:00
33f71677eb
Make it possible to use reasonable-synth in production
This allows to disable the xmass easter-egg for those who
don't celebrate x-mas.
2020-01-17 22:41:01 +01:00
Nikolaus Gullotta
4b355868cc Fix test breakage from a855119bdd 2020-01-16 14:01:18 -06:00
01c709ef0e Change default preferences as discussed on IRC today 2020-01-15 17:23:00 -06:00