Commit graph

611 commits

Author SHA1 Message Date
Paul Davis
8cfd91ac46 do not add 2.X search path if its already present in the search path
git-svn-id: svn://localhost/ardour2/branches/3.0@13503 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 21:54:04 +00:00
Paul Davis
3fa84d0caa add alt-i as a binding in both the editor and mixer windows to toggle the state of MIDI input on the selected track(s); in the mixer this will also operate on the strip under the mouse. fixes #4838
git-svn-id: svn://localhost/ardour2/branches/3.0@13475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:19:04 +00:00
Paul Davis
49b50d8e97 clean up consequences of using IO/Port/Buffer for LTC output, and in related work, move calls to Session::ltc_tx_send_time_code_for_cycle() into Session::no_roll() to cover most cases where we "do not roll"
git-svn-id: svn://localhost/ardour2/branches/3.0@13343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 00:17:41 +00:00
Paul Davis
7b818e9a7f move ownership of LTC I/O ports to Session, and manage as IO objects
git-svn-id: svn://localhost/ardour2/branches/3.0@13341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-25 19:46:23 +00:00
Paul Davis
35c6b52c36 probable fix for not being able to find audio files in a 2.X session that had "illegal" characters in the session name - adds the 2.X version of the search path to the audio file search path, if it exists
git-svn-id: svn://localhost/ardour2/branches/3.0@13321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 14:52:26 +00:00
Robin Gareus
ec94210a4d add LTC generator
git-svn-id: svn://localhost/ardour2/branches/3.0@13315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-21 14:07:10 +00:00
Paul Davis
2d9ed69fe2 change input/output button context menus for mixer strip to be non-additive: when selecting a new IO bundle, disconnect from any existing connections before connecting to the new one (fixes #5087)
git-svn-id: svn://localhost/ardour2/branches/3.0@13308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-18 16:15:11 +00:00
Paul Davis
9707a0e827 move the external sync source selection tobe a global config parameter, not per-session, since this is likely a reflection of studio setup, h/w etc.; starting using real tooltips in the RC option editor
git-svn-id: svn://localhost/ardour2/branches/3.0@13237 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:10:18 +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
Paul Davis
e43d91949b more work on RID and editor/mixer order matching; when a track/bus is hidden in the GUI controlling RID, it gets a extremely large RID to prevent it showing up on a control surface (but ... for now ... is still visible in the other GUI, even if "sync order between mixer + editor" is enabled); change font in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@13054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-19 22:35:43 +00:00
David Robillard
39b42e3766 Fix Jack transport master after session load.
Transport master was not being taken because when the configuration variable is
set, AudioEngine::set_session() has not been called yet so
AudioEngine::reset_timebase() did nothing (the transport stuff at the beginning
of Session::when_engine_running() is questionable for the same reasons).

I am not sure if this is correct, but I have failed to more thoroughly figure
out the issue.  At least Ardour actually sets Jack transport information now.
However, there are some discrepancies between Ardour time and Jack time, as
reported by Session::jack_timebase_callback().

Perhaps related, the transport master menu item does not restore correctly.
Previous to this commit, the only way to make a loaded session take transport
master was to "set" this out of sync item (which did nothing), then unset it,
then set it again, which would finally actually cause the configuration change.


git-svn-id: svn://localhost/ardour2/branches/3.0@12992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-07 21:00:47 +00:00
Paul Davis
7db500301d further efforts at cleaning up the design of the interaction/relationship between route sort order keys and remote control IDs
git-svn-id: svn://localhost/ardour2/branches/3.0@12962 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 22:27:37 +00:00
Carl Hetherington
81de53da1d Fix missing lock causing erroneous disk space reports when dragging audio clocks.
git-svn-id: svn://localhost/ardour2/branches/3.0@12961 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 16:08:48 +00:00
Paul Davis
11415b49be first pass at the big rethink of managing sort order keys for editor and mixer. this appears to work, but remote control IDs are not yet correct (frequently off by one because of the presence of the master bus in the editor)
git-svn-id: svn://localhost/ardour2/branches/3.0@12953 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-27 22:57:06 +00:00
Carl Hetherington
c52bdcf69d Remove unused named selection / chunk code.
git-svn-id: svn://localhost/ardour2/branches/3.0@12939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 02:11:06 +00:00
Carl Hetherington
06ad59e936 Fix some oddities with playhead movement when locating
during roll.


git-svn-id: svn://localhost/ardour2/branches/3.0@12937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 01:40:34 +00:00
Paul Davis
97d920593f drastic rethink of the relationship between remote control ID and route order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window
git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:46:13 +00:00
Tim Mayberry
1f440fbfec Remove unused or unnecessary header includes
git-svn-id: svn://localhost/ardour2/branches/3.0@12905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:51 +00:00
Tim Mayberry
e37a65dade Use Glib::build_filename in Session::new_midi_source_name()
git-svn-id: svn://localhost/ardour2/branches/3.0@12893 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:24 +00:00
Tim Mayberry
02aa5bcde4 Use Glib::file_test instead of sys::exists
git-svn-id: svn://localhost/ardour2/branches/3.0@12881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:57 +00:00
Tim Mayberry
e26e59b006 Move three file utility functions from pbd/filesystem.h to pbd/file_utils.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:14 +00:00
Tim Mayberry
17475df100 Rename PBD::sys::inodes_same to equivalent_paths
This better reflects its function and more closely matches boost
naming(which is usually a good sign)

git-svn-id: svn://localhost/ardour2/branches/3.0@12857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:59 +00:00
Tim Mayberry
105caf23da Use std::string instead of PBD::sys::path in pbd/search_path.h, pbd/file_utils.h and ardour/session_dir.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:06:54 +00:00
Paul Davis
d70429a066 provide an easier way to add mixed (audio+MIDI) tracks to a session, to facilitate the use of plugins like Reaktor which accept both audio & MIDI data. there's probably still a paradigm shift waiting to happen here but its likely post-3.0.
git-svn-id: svn://localhost/ardour2/branches/3.0@12816 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-22 01:45:16 +00:00
Paul Davis
8c87102688 a putatively better approach to cleaning up ports at session closing
git-svn-id: svn://localhost/ardour2/branches/3.0@12807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-21 15:00:10 +00:00
Carl Hetherington
7a76e8ae96 Declick before the end of seamless loops, not after the end, so that loops are rendered accurately (#4213, #4593).
git-svn-id: svn://localhost/ardour2/branches/3.0@12801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20 18:46:05 +00:00
Carl Hetherington
944dae2a41 Write the topologically sorted route list back to the session's list so that the 1-processor process code sees it. Should fix #4937.
git-svn-id: svn://localhost/ardour2/branches/3.0@12784 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 15:51:56 +00:00
Carl Hetherington
c502f0981f Fix comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@12759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-18 18:28:26 +00:00
Carl Hetherington
2b8912f790 Hopefully fix race between engine being halted and butler
being destroyed.


git-svn-id: svn://localhost/ardour2/branches/3.0@12722 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-14 11:45:10 +00:00
Carl Hetherington
30573893a9 Add operation_in_progress() method.
git-svn-id: svn://localhost/ardour2/branches/3.0@12704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 16:46:59 +00:00
Carl Hetherington
92432f3e80 Handle failure of statfs to return available disc space on Samba shares mounted via GVFS, reporting available space as unknown in this case (#4657).
git-svn-id: svn://localhost/ardour2/branches/3.0@12674 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 16:41:29 +00:00
Carl Hetherington
c40437430a Make send automation work (#4734).
git-svn-id: svn://localhost/ardour2/branches/3.0@12650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11 10:42:30 +00:00
Carl Hetherington
f6e869d50d Remove some unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@12574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 11:23:45 +00:00
Carl Hetherington
7eb8a33910 Add path_is_within to decide if a path is within a given
directory, taking symlinks into account, and use it to
decide whether a file is within the session folder.  Should
fix #4552.


git-svn-id: svn://localhost/ardour2/branches/3.0@12468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:32:41 +00:00
Paul Davis
06c7a5da6b don't alter session search path frm within FileSource constructor, do it when a source is added to the session; related - don't add sources that are created with announce=false to the session, and as a (new) corollary, no longer cause them to potentially alter the session search path (this applies mostly to sources created for auditioning)
git-svn-id: svn://localhost/ardour2/branches/3.0@12456 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 18:07:30 +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
Paul Davis
72678cc230 revert previous commit (it should work, but did not); minor tweaks elsewhere
git-svn-id: svn://localhost/ardour2/branches/3.0@12084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 20:27:13 +00:00
Paul Davis
3cbb05cbe9 move the point at which PannersLegal is emitted (thus resetting panners). It used to done during Session::hookup_io() which seems wrong, since ports and all that already exist. now moved to before the point at which we call ControlProtocolManager::set_session() so that control protocols see Routes with Panners already set up
git-svn-id: svn://localhost/ardour2/branches/3.0@12072 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 03:18:02 +00:00
Paul Davis
33140f3267 add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and use it if requested inside MCP code. required renaming the pre-existing MIDI::Port as MIDI:JackMIDIPort - MIDI::Port becomes the base type for both JackMIDIPort and IPMIDIPort
git-svn-id: svn://localhost/ardour2/branches/3.0@12069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:28:51 +00:00
Paul Davis
82c867bf2a MCP: a fistful of improvements. probably best to just try it and see what it broken. KNOWN: pressing vpots without a bank/channel shift will crash ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@12053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 02:15:24 +00:00
Ben Loftis
45ac9c8861 add User metadata. user metadata is edited from the same dialog and read/writable using the same mechanism as session metadata, but it is stored in the ardour.rc file instead of with the session. Importing metadata from another session does not change user metadata. SessionMetadata is now a singleton that is available to the session object and the various config objects.
git-svn-id: svn://localhost/ardour2/branches/3.0@12014 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 17:46: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
Carl Hetherington
91b6f28a9b Remove unused playlist audition code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11897 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 15:10:12 +00:00
Carl Hetherington
ef91c96883 Fix possible null pointer dereference (#4813).
git-svn-id: svn://localhost/ardour2/branches/3.0@11814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07 10:05:17 +00:00
Carl Hetherington
bf96210e34 Fix operator precedance inaccuracy (#4825).
git-svn-id: svn://localhost/ardour2/branches/3.0@11791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 01:21:44 +00:00
Carl Hetherington
b25c60356c Typo in comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@11758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-25 19:38:17 +00:00
Paul Davis
416e3c701e put back revised version of Route::has_external_redirects() and use it to give a warning when attempting to freeze a track with sends/inserts/returns
git-svn-id: svn://localhost/ardour2/branches/3.0@11707 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-16 16:51:54 +00:00
Paul Davis
8e1488c76e remove now-unused Route::has_external_redirects()
git-svn-id: svn://localhost/ardour2/branches/3.0@11704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-16 15:05:00 +00:00
Paul Davis
f07ca6397f radically rethink export/bounce/freeze code design. probably not 100% done by freeze+unfreeze now work and behave sensibly w.r.t. processors that do routing
git-svn-id: svn://localhost/ardour2/branches/3.0@11701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-15 21:40:17 +00:00
Carl Hetherington
09814ab840 Patch from colinf to fix auto-connect of bus outputs (#4758).
git-svn-id: svn://localhost/ardour2/branches/3.0@11615 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07 13:24:20 +00:00