Paul Davis
bbb0b78a50
fetch thread local tempo map in potential peak-building threads
2022-06-20 14:25:40 -06:00
Paul Davis
55752ed8b7
NOOP: blank line deletion
2022-04-05 20:52:10 -06:00
Paul Davis
bc38f8d424
MidiSource: change thread mutual exclusion object from Mutex to a RWLock
...
This allows two reader threads to proceed without blocking each other, as can
happen when the butler renders a MIDI track into an RT-safe buffer while the
GUI reads the same MidiModel/Source for visual display.
2022-04-05 20:52:09 -06:00
Paul Davis
1686db8b0c
Change the type of reference held by a MidiModel to its MidiSource
...
This also requires a change in the type of reference held by
a MidiAutomationListBinder.
Both the MidiSource and MidiModel have a reference to each other, and it is
important that we avoid circular references to avoid problems with object
destruction. We had been accomplishing this by having the Model hold a
weak_ptr<MidiSource>. However, the lifetime of a MidiSource and its MidiModel
are coincident and there's really no need to use a smart ptr at all. A normal
reference is just fine. However, due to constructors that accept a serialized
state, we cannot use an actual reference (we cannot set the constructor in the
initializer list), so we use a bare ptr instead.
This forces a similar change in MidiAutomationListBinder, which also maintains
a reference to the Source. However, the only purpose of this object is to
ensure that if the Source is destroyed, relevant commands will be removed from
the undo/redo history, and so all that matters here is that the binder connects
to the Destroyed signal of the source, and arranges for its own destruction
when received.
Note that the previous construction of the binder, actually holding a
shared_ptr<MidiSource> would appear have prevented the Destroyed signal from
ever being emitted (from ~Destructible), and so this may also be a bug fix that
allows MidiSources to actually be deleted (the memory object, not the file).
2022-04-05 20:52:09 -06:00
Robin Gareus
75ec5ee87d
Terminate Peak file threads at exit
2022-03-01 18:20:40 +01:00
Robin Gareus
183f00bbed
NO-OP: cleanup and lang-format
2022-03-01 18:00:20 +01:00
Robin Gareus
24bbf403b9
Replace Glib::Threads with PBD::Thread (1/2)
2022-03-01 01:33:49 +01:00
Paul Davis
cdb1972928
continuing timeline type conversions
2021-08-13 12:51:29 -06:00
Paul Davis
eae9d276fe
libardour: conversion to use timeline types (mega-commit)
2021-08-13 12:51:29 -06:00
Robin Gareus
cbbcdb4fe6
SourceFactory throw instead of returning nullptr #623
2021-07-10 17:46:57 +02:00
Marijn Kruisselbrink
0a54f96a44
Add M4A support to the audio import dialog using FFMPEG.
...
This uses the existing optional runtime ffmpeg dependency to add support
for m4a files (and in theory whatever other file formats ffmpeg
supports) to the import audio dialog.
The same functionality is mostly already available via Session -> Open
Video, with the "import audio only" selection (even though m4a isn't
currently included as one of the video formats, it still works). Having
this in the import audio dialog however seems much more user friendly.
2021-06-21 02:30:36 +02:00
Robin Gareus
5957e14259
Remove unused #include<> (2/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:57:16 +02:00
Robin Gareus
c365c6cdb2
Set thread-names (libs)
2020-03-29 14:56:22 +02:00
Paul Davis
a4d7b45fe0
remove destructive/tape mode tracks
2020-03-17 16:31:49 -06:00
Robin Gareus
bcfe16610a
Consolidate shared-ptr debugging
2020-02-25 22:23:30 +01:00
Robin Gareus
f845bef8c6
Update source-factory boost-debug
2020-02-25 02:34:04 +01:00
Robin Gareus
c7c40f6f3d
Remove #ifdef'ed format-specific error-log messages
...
With inclusion of Mp3FileSource, this would get tricky.
On MacOS, the SndFileSource's sf_error_str message is never displayed,
anyway, also calling methods all handle failed-constructor.
So error-log is less important.
2019-12-07 15:38:53 +01:00
Robin Gareus
9040fd4670
Flatten nested try/catch clauses
...
This also consistently throws a failed_constructor() when instantiating
a CoreAudioSource fails, regardless of the actual exception
2019-12-07 15:38:48 +01:00
Robin Gareus
d0b6c437ce
Implement mp3 import, using minimp3
2019-12-06 18:18:54 +01:00
Robin Gareus
227de8c1b0
Flatten nested try/catch clauses
...
This also consistently throws a failed_constructor() when instantiating
SoundFile fails, regardless of the actual exception
2019-12-06 18:16:10 +01:00
Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
Paul Davis
027d0efc2d
catch various libsmf errors rethrown as exceptions
2018-07-05 13:45:17 -04:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Paul Davis
a232673454
make boost shared_ptr debugging a little easier to turn on/off
2016-05-07 13:36:04 -04:00
Paul Davis
17ace643e4
OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)
2016-05-04 23:09:45 -04:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
4b20e719a8
prepare displaying peakfile queue-len
2015-09-15 17:50:27 +02:00
David Robillard
7eab4c6f33
Don't assume compiler can avoid copy to const ref.
2014-12-18 04:03:39 -05:00
David Robillard
a706755710
Fix various MIDI locking issues.
...
Attempt to make mistakes much less likely in the future by statically requiring
caller to pass scoped locks where necessary.
2014-12-17 16:07:29 -05:00
Paul Davis
b660bc8ae9
fix crash recovery: add new constructors to SndFileSource, AudioFileSource, add a new SourceFactory method and finally tweak
...
AudioDiskstream::use_pending_capture_data() to create both the required whole-file and the in-playlist regions
2014-06-10 10:09:26 -04:00
Paul Davis
f5276a104c
add new SMFSource constructor to be used for existing-external files. Fixes #5919 . Needs merging with CC
2014-04-28 10:37:17 -04:00
Robin Gareus
eb853b79c4
fix midi source factory -- load_model() uses shared_from_this()
2014-01-22 15:30:04 +01:00
Paul Davis
b691d4bf04
fix up some confusion with filesources' _origin and _file_is_new members. if _origin is set, it means that the file is "external" to the session (aka "embedded") and for some purposes this is more significant than _file_is_new. rename SourceFactory::createReadable() to ::createExternal() to more clearly indicate its purpose; remove never-supplied "origin" argument from SourceFactor::createWritable(). Fixes problems caused by 864ce8f0
2013-03-30 14:02:26 -04:00
Paul Davis
3cd8138a41
convert from Glib:: to Glib::Threads for all thread-related API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Carl Hetherington
d3bd0279ae
Trim include.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 02:39:34 +00:00
Paul Davis
4aeebb914e
changes for OS X support: change waf config define to COREAUDIO_SUPPORT, remove PluginInsert call to IO::PortCountChanged, remove use of explicit Carbon linkage, fix up AudioUnit internals to actually work (Cocoa GUIs still currently broken)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10224 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 15:08:42 +00:00
Paul Davis
7181a20dc6
don't double-load NestedSource nodes, which are listed both forthe parent/root region and all children; even better, don't list them twice anyway - just for the whole file parent/root region
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-22 22:46:31 +00:00
David Robillard
a473d630eb
Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Paul Davis
c3821a7816
totally untested initial code for MidiPlaylistSource, to provide for compound MIDI regions. putting it into SVN because my system might crash overnight :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9626 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-29 01:54:19 +00:00
Paul Davis
d6be900da0
more combine/uncombine fixes including making uncombine push the compound region gain level into the constituents and doing the right thing when we uncombine in a playlist other than the one in which the compound region was created
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-26 17:22:22 +00:00
Paul Davis
99aa8c6338
rename join regions op as combine regions; save and restore nested playlists, sources, regions; add undo/redo for combine; fixup peakfile use/discovery
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 20:16:57 +00:00
Paul Davis
4b5bd4ca46
refactor playlist sources to allow for MIDI and upcoming work on save/restore
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 15:49:26 +00:00
Paul Davis
0a9cef7720
very basic Join (regions) editing operation. not finished yet, no undoable, no sensible name for new region, etc. etc
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9518 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 02:17:58 +00:00
Paul Davis
41b23ca647
initial volley of work for AudioPlaylistSource, the basic prototype for sources-that-are-nested
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-13 19:55:39 +00:00
Carl Hetherington
9efd8e2e40
Add assert to make sure that we succeed in making a writable SMFSource.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 02:04:23 +00:00
Paul Davis
7cf4419d62
#ifdef-ize all/most uses of the boost debug hooks API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8823 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-10 18:33:43 +00:00
Carl Hetherington
7d4e03e28e
Use a weak_ptr rather than a bald pointer for _midi_source in MidiModel.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:34:31 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00