Commit Graph

27770 Commits

Author SHA1 Message Date
28328ea36a prefer lowercase and no spaces, since this will appear in the filename. 2019-07-31 11:14:38 -05:00
eeb333e91e (Source List) Catch new sources created by bounce-range-to-source-list 2019-07-31 11:09:11 -05:00
895a9b2bf6 (Source List) Handle Session::RemoveSource 2019-07-31 11:08:49 -05:00
4ff4b91cad (Source List) Replace missing initializer; fixes a bug where Sources did not appear on startup. 2019-07-31 11:08:46 -05:00
ad885fe512 (Source List) Implement insert-region action... now uses the Source List. 2019-07-31 11:08:39 -05:00
e004380085 (Source List) Recover Regions feature: WIP 2019-07-31 11:08:32 -05:00
356f983378 (Source List) Revert to displaying whole-file Regions instead of Sources.
This preserves the stereo-ness of files that were imported or recorded in stereo.

ToDo  (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region
2019-07-31 11:08:25 -05:00
73e6af51a8 (Source List) Add forall_regions function, used by Region and Source lists. 2019-07-31 11:08:20 -05:00
80c32236c5 (Source List) No need to show the path when file is internal to session. 2019-07-31 11:08:15 -05:00
ccb7d6b968 (Source List) merge fixes 2019-07-31 11:08:11 -05:00
57dec7db2b (Source List) Clean up the natural_position implementation (gtk2 part). 2019-07-31 11:08:03 -05:00
bbe77c1c6a (Source List) Clean up the natural_position implementation (libardour part). 2019-07-31 11:07:59 -05:00
ebd0d27003 (Source List) Implement remove_selected_sources when the user clicks Delete key. 2019-07-31 11:07:51 -05:00
63ad8fc2c2 (Source List) NOOP: whitespace cleanup
remove debug output
2019-07-31 11:07:47 -05:00
dfdb48d30a (Source List) Fix drag-n-drop. 2019-07-31 11:07:41 -05:00
1108706b6b (Source List) RegionFactory should return an empty region here. 2019-07-31 11:07:37 -05:00
e2b658244f (Source List) Source list, Region List: Resolve various action+behaviors between the 2 lists.
Duplicate the remove_unsued_region action in the Session->Cleanup menu, for discoverability.
Region list should use the same Region actions as the canvas...
OK, now resolve the change in use-cases of Region List and Source List.  tentative.
Rough-in remove_selected_sources (Delete in Sources list).
Column tweaks.
2019-07-31 11:07:30 -05:00
3e59b099c0 (Source List) Region Tags (gtk2 part) 2019-07-31 11:07:27 -05:00
4f2c4dfee8 (Source List) Region Tags (libardour part)
Rough-in: Region-Tags.

More correct implementation of tags property (libardour).

Region Tags (libardour part)
2019-07-31 11:07:23 -05:00
a627ce7ae0 (Source List) Make clock change func more explicit. 2019-07-31 11:07:18 -05:00
9417265857 (Source List) Region List rewrite (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-07-31 11:07:12 -05:00
c91022ccad (Source List) Region List rewrite (libardour part) 2019-07-31 11:07:01 -05:00
b03c11c635 (Source List) Source property signals (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-07-31 11:06:52 -05:00
52f75a52a8 (Source List) Source property signals (libardour part) 2019-07-31 11:06:28 -05:00
8b115de645 (Source List) Take-ID: new (working) implementation. 2019-07-31 11:06:15 -05: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