summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
AgeCommit message (Collapse)Author
2012-10-26clean up consequences of using IO/Port/Buffer for LTC output, and in related ↵Paul Davis
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-25move ownership of LTC I/O ports to Session, and manage as IO objectsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23probable fix for not being able to find audio files in a 2.X session that ↵Paul Davis
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-21add LTC generatorRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-18change input/output button context menus for mixer strip to be non-additive: ↵Paul Davis
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-11move the external sync source selection tobe a global config parameter, not ↵Paul Davis
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-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-19more work on RID and editor/mixer order matching; when a track/bus is hidden ↵Paul Davis
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-07Fix Jack transport master after session load.David Robillard
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-06-28further efforts at cleaning up the design of the interaction/relationship ↵Paul Davis
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-28Fix missing lock causing erroneous disk space reports when dragging audio ↵Carl Hetherington
clocks. git-svn-id: svn://localhost/ardour2/branches/3.0@12961 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-27first pass at the big rethink of managing sort order keys for editor and ↵Paul Davis
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-26Remove unused named selection / chunk code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26Fix some oddities with playhead movement when locatingCarl Hetherington
during roll. git-svn-id: svn://localhost/ardour2/branches/3.0@12937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25drastic rethink of the relationship between remote control ID and route ↵Paul Davis
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-23Remove unused or unnecessary header includesTim Mayberry
git-svn-id: svn://localhost/ardour2/branches/3.0@12905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23Use Glib::build_filename in Session::new_midi_source_name()Tim Mayberry
git-svn-id: svn://localhost/ardour2/branches/3.0@12893 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23Use Glib::file_test instead of sys::existsTim Mayberry
git-svn-id: svn://localhost/ardour2/branches/3.0@12881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23Move three file utility functions from pbd/filesystem.h to pbd/file_utils.hTim Mayberry
git-svn-id: svn://localhost/ardour2/branches/3.0@12863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23Rename PBD::sys::inodes_same to equivalent_pathsTim Mayberry
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-23Use std::string instead of PBD::sys::path in pbd/search_path.h, ↵Tim Mayberry
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-22provide an easier way to add mixed (audio+MIDI) tracks to a session, to ↵Paul Davis
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-21a putatively better approach to cleaning up ports at session closingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20Declick before the end of seamless loops, not after the end, so that loops ↵Carl Hetherington
are rendered accurately (#4213, #4593). git-svn-id: svn://localhost/ardour2/branches/3.0@12801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19Write the topologically sorted route list back to the session's list so that ↵Carl Hetherington
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-18Fix comment.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-14Hopefully fix race between engine being halted and butlerCarl Hetherington
being destroyed. git-svn-id: svn://localhost/ardour2/branches/3.0@12722 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Add operation_in_progress() method.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12Handle failure of statfs to return available disc space on Samba shares ↵Carl Hetherington
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-11Make send automation work (#4734).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06Remove some unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28Add path_is_within to decide if a path is within a givenCarl Hetherington
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-27don't alter session search path frm within FileSource constructor, do it ↵Paul Davis
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-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
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-04-24revert previous commit (it should work, but did not); minor tweaks elsewherePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24move the point at which PannersLegal is emitted (thus resetting panners). It ↵Paul Davis
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-24add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and ↵Paul Davis
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-22MCP: a fistful of improvements. probably best to just try it and see what it ↵Paul Davis
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-18add User metadata. user metadata is edited from the same dialog and ↵Ben Loftis
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-16Fairly major change to the way in which crossfades are handled;Carl Hetherington
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-11Remove unused playlist audition code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11897 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07Fix possible null pointer dereference (#4813).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05Fix operator precedance inaccuracy (#4825).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-25Typo in comment.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-16put back revised version of Route::has_external_redirects() and use it to ↵Paul Davis
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-16remove now-unused Route::has_external_redirects()Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-15radically rethink export/bounce/freeze code design. probably not 100% done ↵Paul Davis
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-07Patch from colinf to fix auto-connect of bus outputs (#4758).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11615 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-05Prevent duplication of search path elements when symlinks are involved (#4568).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-02add a way to create a new MIDI track with an instrument pre-selectedPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11421 d708f5d6-7413-0410-9779-e7cbd77b26cf