Commit graph

115 commits

Author SHA1 Message Date
John Emmas
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
John Emmas
fa59391f6a 'libs/ardour' - Use 'const_iterator' where appropriate (required to be buildable with MSVC) 2013-08-04 15:06:10 +01:00
Paul Davis
23bec25bf5 Remove non-portable and unnused header includes 2013-07-11 11:34:37 -04:00
Robin Gareus
8380c06e32 another buffersize fix (see #5221 and rev13715)
git-svn-id: svn://localhost/ardour2/branches/3.0@13720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-23 19:31:45 +00:00
Paul Davis
8ca9061b30 fix issues with rec-enabling being done in RT context by splitting it into two parts, an RT-safe and RT-unsafe part. along the way, remove "do not record plugins" option which is just so 1999 and creates problems for various (all?) plugin APIs
git-svn-id: svn://localhost/ardour2/branches/3.0@13613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 15:48:38 +00: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
David Robillard
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.

If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Paul Davis
d23a6de077 fix for most (all? we can dream ...) issues involved in #4399 (editing multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id()
git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 19:20:15 +00:00
Carl Hetherington
e4ce766754 Remove unused variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@10643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 02:02:34 +00:00
Carl Hetherington
d57e00b7a2 Remove unused variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@10364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31 21:17:56 +00:00
Carl Hetherington
9afd18358b Remove Diskstream member playback_distance that can be
passed directly from process() to commit().


git-svn-id: svn://localhost/ardour2/branches/3.0@10359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31 21:16:54 +00:00
Carl Hetherington
75e6adcf03 Remove unused read/write data count code.
git-svn-id: svn://localhost/ardour2/branches/3.0@10300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-24 20:45:29 +00:00
Paul Davis
4085309cdb make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 13:18:47 +00:00
Carl Hetherington
8f5dd22c51 Fix default disk_io_chunk_frames for diskstream so that it
isn't larger than the default playback buffer size when
starting Ardour without a previous ~/.config; having
disk_io_chunk_frames larger violates basic design
assumptions and causes phantom underruns in playback
(#4308).


git-svn-id: svn://localhost/ardour2/branches/3.0@10079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-14 15:55:27 +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
64022eebcb correctly reset capture alignment at session load; for MIDI diskstreams, don't try to set capture alignment based on connectivity, always set _source_port ASAP and check _source_port when recording
git-svn-id: svn://localhost/ardour2/branches/3.0@9334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09 14:59:22 +00:00
Paul Davis
040e016137 move some DEBUG::Graph traces to DEBUG::ProcessThreads ; remove Diskstream::rename_write_sources() which is no longer relevant (sources are not created on disk until needed); fixup calling Diskstream::non_realtime_input_change() when calling Diskstream::set_track() with a track that doesn't yet have any I/O (i.e. typical case)
git-svn-id: svn://localhost/ardour2/branches/3.0@9281 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 16:41:20 +00:00
Paul Davis
ca84e02b48 fix (?) capture alignment by making sure we use non-public latency information for playback latency, thus avoiding counting plugin latency twice
git-svn-id: svn://localhost/ardour2/branches/3.0@9168 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-18 20:21:51 +00:00
Paul Davis
c4c4034085 fix all manner of things relating to io connections, setting capture alignment, and so on. still needs more tests of actual precise placement of newly recorded material
git-svn-id: svn://localhost/ardour2/branches/3.0@9155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15 19:32:21 +00:00
Paul Davis
d155f32039 sorta-kinda working latency compensation, latency reporting and capture alignment ... working except that we report the wrong information to JACK and i've noticed a couple of odd circumstances where turning on a latent plugin caused punch recording to fail
git-svn-id: svn://localhost/ardour2/branches/3.0@9121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-11 02:55:52 +00:00
Paul Davis
8849cb4287 add new concept for managing alignment style (AlignChoice); switch to using worst_playback_latency() just about everywhere we were using worst_output_latency() - the former includes plugin latency. answer appears to break earlier fixes to alignment, but is semantically right, so plan to investigate in another 8 hours or so
git-svn-id: svn://localhost/ardour2/branches/3.0@9112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09 05:19:44 +00:00
Paul Davis
34b9883537 lots of stuff related to capture alignment. things appear to be working now, but require the right alignment setting, which doesn't persist correctly at present
git-svn-id: svn://localhost/ardour2/branches/3.0@9107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 20:12:40 +00:00
Carl Hetherington
eb8de01f42 Fix previous patch a bit better.
git-svn-id: svn://localhost/ardour2/branches/3.0@8959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-25 17:40:19 +00:00
Carl Hetherington
e5c6071235 Move playback_distance up to AudioDiskstream from Diskstream since it is only used there.
git-svn-id: svn://localhost/ardour2/branches/3.0@8958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-25 17:00:45 +00:00
Paul Davis
15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +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
Carl Hetherington
bce9a0aee7 Revert previous incorrect patch.
git-svn-id: svn://localhost/ardour2/branches/3.0@8144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:51:17 +00:00
Carl Hetherington
93d65777b8 Remove unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@8142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:04:48 +00:00
Paul Davis
979a61eb3f remove (or attempt to remove) requirement for holding process lock when changing connections
git-svn-id: svn://localhost/ardour2/branches/3.0@8110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 17:42:09 +00:00
Carl Hetherington
ba0458cf1f Update recorded MIDI regions as notes arrive. Fixes one cause of infinite note-lengths during record. Fix various problems with multiple captures of MIDI during one pass.
git-svn-id: svn://localhost/ardour2/branches/3.0@7887 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-08 14:54:16 +00:00
Carl Hetherington
fff03c103d Small cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@7867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-02 00:06:11 +00:00
Paul Davis
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
Carl Hetherington
b9dca83832 Auto-connect outputs that appear as a result of e.g. instruments being added to MIDI tracks. Fixes #3368.
git-svn-id: svn://localhost/ardour2/branches/3.0@7720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-30 22:34:21 +00:00
Carl Hetherington
067c4458a0 Don't write undo records for automation that moves with regions when nothing changes about the automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 23:58:49 +00:00
Carl Hetherington
092e598389 When a region movement is undone, prevent the resulting movement from triggering the automation-follows-regions code. Fixes #3348.
git-svn-id: svn://localhost/ardour2/branches/3.0@7464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-22 01:22:33 +00:00
Paul Davis
f4401c5928 midway snapshot of work done on managing Region & Source lifetimes correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source
git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23 20:14:07 +00:00
Carl Hetherington
061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +00:00
Paul Davis
981c8906fb alignment/capture/positioning changes ported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@6886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-12 22:35:06 +00:00
Carl Hetherington
e31c2e4dcb Fix logic for when to request buffer overwrite.
git-svn-id: svn://localhost/ardour2/branches/3.0@6848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 22:45:50 +00:00
Paul Davis
c7b867bddb missign return value
git-svn-id: svn://localhost/ardour2/branches/3.0@6845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 21:11:01 +00:00
Paul Davis
ad7025ae84 possible fix for race between diskstream buffer overwrite and channel setup
git-svn-id: svn://localhost/ardour2/branches/3.0@6843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 20:14:28 +00:00
Paul Davis
c0c617902e revisit setting up processors during route construction; remove several more XML-based constructors; don't put () parens around inactive plugin names (we have a checkbox); improve management of send, return and insert bitslot IDs; clean up Diskstream construction a bit more
git-svn-id: svn://localhost/ardour2/branches/3.0@6819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-01 01:24:13 +00:00
Paul Davis
5e8b3f0832 part one of hiding Diskstreams and making them a private object of a Track
git-svn-id: svn://localhost/ardour2/branches/3.0@6802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-27 14:41:24 +00:00
Paul Davis
fa701b8c06 change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
Paul Davis
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
Carl Hetherington
3a27410dcb More tinkering with State<>. Use some StateDiffCommands instead of
MementoCommand<Region>.  More use of State<> for Region members.


git-svn-id: svn://localhost/ardour2/branches/3.0@6675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11 17:08:34 +00:00
Paul Davis
832aa18a81 a boatload of minor and middle-sized changes to try to speed up undo. imperfect, unfinished, but probably right to commit now
git-svn-id: svn://localhost/ardour2/branches/3.0@6561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-25 20:34:09 +00:00
Paul Davis
4a4bdcd157 Lincoln's patch for latency compensation at punch in/stop, modified to use DEBUG_TRACE
git-svn-id: svn://localhost/ardour2/branches/3.0@6447 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-04 19:58:41 +00:00
Paul Davis
c83389b8ec cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +00:00