Commit Graph

27752 Commits

Author SHA1 Message Date
375a090295 (Source List) Make clock change func more explicit. 2019-08-01 12:11:31 -05:00
b1019bbbf6 (Source List) Region List rewrite (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-08-01 12:11:31 -05:00
3e6ce20fd7 (Source List) Region List rewrite (libardour part) 2019-08-01 12:11:31 -05:00
90962d3426 (Source List) Source property signals (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-08-01 12:11:31 -05:00
ca3c191d7c (Source List) Source property signals (libardour part) 2019-08-01 12:11:31 -05:00
949450bbb5 (Source List) Take-ID: new (working) implementation. 2019-08-01 12:11:31 -05:00
afb987d698
Update clang-format to match ardour-style 2019-08-01 18:31:44 +02:00
4a52a9b3b0
Fix C++11 NSDMI 2019-07-31 04:48:52 +02:00
8dbbc19567
Update MIDI Event precedence
A patch-change that is concurrent with a note-on event should be sent
before the given Note-on event.

As follow up: CCs also need to be prioritize to send bank-select first.

see also https://discourse.ardour.org/t/midi-strangeness-patch-setting-and-first-notes/101415
2019-07-30 21:17:15 +02:00
bf5da033dc Another try at fixing our 'spinlock_t' compatibility 2019-07-29 16:56:45 +01:00
82bdb48dab
Partially undo 6d4b94df13 for MSVC and C++98 compat 2019-07-29 04:45:29 +02:00
7b92f54929
Fix random off-by-one issue when vertically zooming a waveform
To mitigate concurrent rendering, the waveform cache adds a random
range of pixels centered around the visible waveform.

Alignment is using integer half_width = width_samples / 2;
This always aligns the left-edge to the left-most cairo-pixel.

This fixes an issue with moving moiree patterns in waveforms when
zooming vertically (which invalidates the cache and uses a
different random number of pixels),
2019-07-29 03:56:35 +02:00
a582b24fcd
Fix rendering of region waveform left-edge
The left-most part may be a partial block of a given "sample per pixel"
range. Also previously there was an off-by-one [block] in case
sample_pos was an even multiple of samples_per_visual_peak.
2019-07-29 03:48:52 +02:00
a176efee02
NO-OP: whitespace 2019-07-29 03:29:36 +02:00
6d4b94df13
Reduce compiler warnings when boost uses std-atomics
This works around for compilers with non-static-data-member
initialization.

spinlock_t is-a struct { lockType _; } and BOOST_DETAIL_SPINLOCK_INIT
initializes the first member of the struct.
All defines of BOOST_DETAIL_SPINLOCK_INIT include c-style curly braces
to initialize the struct's data member.

However, modern C++ compiler interpret the braces differently resulting
in copy constriction of the initializer.
2019-07-28 20:10:09 +02:00
684b364a8a
Yet another spinlock init hack for g++8 std::atomics
Perhaps we should rather implement this ourselves,
using <boost/atomic.hpp>
2019-07-28 18:39:26 +02:00
63fee3b0c8
Prevent spinlock copy construction 2019-07-28 15:02:04 +02:00
d00650c2fd
Another attempt at improving spinlock init 2019-07-28 15:01:40 +02:00
d382b756c2
Follow up d8ae3fd
Depending on implementation, d8ae3fd may only construct the spinlock
once to `sl_init`. Later it is only copy-constructed and that leads to
compile and/or runtmime errors.

e.g. gcc-8.3 fails to compile
error: use of deleted function ‘boost::detail::spinlock::spinlock(const boost::detail::spinlock&)’
2019-07-28 14:57:51 +02:00
d8ae3fd3a6 MSVC requires an already initialized object to initialize our boost::detail::spinlock (rather than the simpler #define)
Hopefully this'll work for the other builds too.
2019-07-27 12:31:15 +01:00
8a8468c5f1
Correctly initialize spintlock_t
Depending on underlying implementation, boost::detail::spinlock
needs to be explicitly initialized
2019-07-26 21:40:39 +02:00
8a969b56c9
PA-backend: Flush buffer and wake up main thread at stop 2019-07-26 21:38:40 +02:00
0717c4c71a
Prefix env variable with "ARDOUR_" 2/2 2019-07-26 16:58:31 +02:00
78fc6d6651
Prefix all env variable with "ARDOUR_"
In particular "CONCURRENCY" can be problematic. But in general
it's good practice to use a namespace prefix for app-specifics.
2019-07-26 16:44:29 +02:00
b759fb883e
Launch pavucontrol as PA's control app 2019-07-26 04:43:56 +02:00
7cf68eaf72
Fix time_t <> long int ambiguity (OSX gcc builds)
This fixes an issue with
* XMLNode::get_property(const char*, T&)
* XMLNode::set_property(const char*, const T&)
resulting in
 string_convert.h:77: error: 'long int' is not a class,
 struct, or union type
2019-07-26 01:58:18 +02:00
c81cbd8f30
Linux-bundle: use build-stack only
This fixes an issue with libpulse indirectly adding libasync
2019-07-25 22:37:13 +02:00
d7454714ab
Fix PA: unlock mainloop on abort 2019-07-25 21:24:36 +02:00
77fbe22e55
Package PA backend when available 2019-07-25 21:00:12 +02:00
384c97e12d
Puls der Zeit
Prototype a basic stereo-playback only pulseaudio backend.
2019-07-25 17:49:42 +02:00
d70b03ae61
Fix engine-dialog for backends without MIDI options 2019-07-25 17:49:42 +02:00
967c66790c Add device file for Behringer X-Touch One 2019-07-24 11:50:13 -05:00
771f2d2499
ALSA backend: fix play/capture device param detection 2019-07-24 16:40:40 +02:00
0fe3cba8b1
Fix ALSA available buffersize detection:
buffer-size = periods * period-size

Previously, buffersize was used for period-size.

This fixes an issue with a dedicated .asoundrc configuring a specific
period-size or buffer-size that has to be exact.
Ardour's device configuration failed in this case.

This has not been an issues since most hardware devices offer a wide
range: 8 < period-size < 262144 ; 16 < buffer-size < 524288.
Only a subset of which (32 .8192) is allowed by Ardour.
2019-07-24 16:40:32 +02:00
Nikolaus Gullotta
31ec8ce7d1 Location timestamp changes - can now sort by location creation date: gtk part 2019-07-22 15:47:17 -05:00
Nikolaus Gullotta
7d4f72174c Location timestamp changes - can now sort by location creation date: lib ardour part 2019-07-22 15:47:01 -05:00
b5a50821fc 'ARDOUR::LuaScripting::Sorter()' needs to be exportable (since it gets used outside of libardour) 2019-07-19 15:40:06 +01:00
3506600270
Refine Stem-Export selection options
Allow to exclude muted, or hidden tracks from stem-export
selection actions.
2019-07-19 02:14:09 +02:00
0d1d6d6975 remove -C,-E and -U command line options 2019-07-18 14:08:07 -06:00
b058356d1e reverse part of a previous change to session dialog
Back-button sensitive has a more complex semantic than the change
took into account
2019-07-18 13:39:56 -06:00
6f506962a7 Revert "fix use of session-creation via template, when just template name is given"
This reverts commit ce7add1481.
2019-07-18 13:38:43 -06:00
ce7add1481 fix use of session-creation via template, when just template name is given 2019-07-18 12:27:16 -06:00
4679439af9 some cleanups to the use of "require_new" in the SessionDialog
This removes some redundant code and makes the logic slightly
easier to read
2019-07-18 10:54:06 -06:00
47fcc85b19 remove debug output 2019-07-18 10:53:55 -06:00
b47df18d5c don't bother with session dialog if user has already provided the name
This recognizes that if a template is desired, it can be also be
set from the cmdline
2019-07-18 10:53:44 -06:00
5f8c9a4e60 if a user specifies just a session name (not path) and it does not exist, use the default session folder 2019-07-18 10:53:34 -06:00
473fd45ca2
Allow to use session-init/setup scripts from the commandline 2019-07-18 16:30:08 +02:00
aebdf5f00b
Fix --template commandline option
This fixed an issue with incorrect ".template" suffix on path itself,
and also correctly hides the dialog's template list.
2019-07-18 16:16:11 +02:00
d33423a8bd
Add session-util to create new session 2019-07-18 15:52:46 +02:00
59fe1e5bdd
Consolidate code: use libardour API to sort scripts 2019-07-18 15:52:32 +02:00