Trim session.h include dependency tree.

git-svn-id: svn://localhost/ardour2/branches/3.0@5979 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2009-10-30 15:30:22 +00:00
parent e5258d4ed1
commit c83e48e07a
62 changed files with 254 additions and 95 deletions

View file

@ -34,7 +34,6 @@
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/template_utils.h" #include "ardour/template_utils.h"
#include "ardour/session.h"
#include "ardour_dialog.h" #include "ardour_dialog.h"

View file

@ -2610,7 +2610,7 @@ ARDOUR_UI::hide_splash ()
} }
void void
ARDOUR_UI::display_cleanup_results (Session::cleanup_report& rep, const gchar* list_title, ARDOUR_UI::display_cleanup_results (ARDOUR::CleanupReport& rep, const gchar* list_title,
const string& plural_msg, const string& singular_msg) const string& plural_msg, const string& singular_msg)
{ {
size_t removed; size_t removed;
@ -2765,7 +2765,7 @@ After cleanup, unused audio files will be moved to a \
return; return;
} }
Session::cleanup_report rep; ARDOUR::CleanupReport rep;
editor->prepare_for_cleanup (); editor->prepare_for_cleanup ();
@ -2812,7 +2812,7 @@ ARDOUR_UI::flush_trash ()
return; return;
} }
Session::cleanup_report rep; ARDOUR::CleanupReport rep;
if (session->cleanup_trash_sources (rep)) { if (session->cleanup_trash_sources (rep)) {
return; return;

View file

@ -59,40 +59,42 @@
#include <gtkmm2ext/stateful_button.h> #include <gtkmm2ext/stateful_button.h>
#include <gtkmm2ext/bindable_button.h> #include <gtkmm2ext/bindable_button.h>
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/session.h"
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/utils.h"
#include "audio_clock.h" #include "audio_clock.h"
#include "ardour_dialog.h" #include "ardour_dialog.h"
#include "editing.h" #include "editing.h"
#include "ui_config.h" #include "ui_config.h"
class AudioClock;
class PublicEditor;
class Keyboard;
class RCOptionEditor;
class SessionOptionEditor;
class KeyEditor;
class Mixer_UI;
class ConnectionEditor;
class RouteParams_UI;
class About; class About;
class Splash;
class AddRouteDialog; class AddRouteDialog;
class LocationUI;
class ThemeManager;
class BundleManager;
class ArdourStartup; class ArdourStartup;
class AudioClock;
class BundleManager;
class ConnectionEditor;
class KeyEditor;
class Keyboard;
class LocationUI;
class Mixer_UI;
class PublicEditor;
class RCOptionEditor;
class RouteParams_UI;
class SessionOptionEditor;
class Splash;
class ThemeManager;
namespace Gtkmm2ext { namespace Gtkmm2ext {
class TearOff; class TearOff;
} }
namespace ARDOUR { namespace ARDOUR {
class Route;
class Port;
class IO;
class ControlProtocolInfo; class ControlProtocolInfo;
class IO;
class Port;
class Route;
class RouteGroup;
class Location;
} }
extern sigc::signal<void> ColorsChanged; extern sigc::signal<void> ColorsChanged;
@ -618,8 +620,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
Gtk::MenuItem *cleanup_item; Gtk::MenuItem *cleanup_item;
void display_cleanup_results (ARDOUR::Session::cleanup_report& rep, const gchar* list_title, void display_cleanup_results (ARDOUR::CleanupReport& rep, const gchar* list_title,
const std::string& plural_msg, const std::string& singular_msg); const std::string& plural_msg, const std::string& singular_msg);
void cleanup (); void cleanup ();
void flush_trash (); void flush_trash ();

View file

@ -32,6 +32,7 @@
#include <gtkmm2ext/click_box.h> #include <gtkmm2ext/click_box.h>
#include <gtkmm2ext/tearoff.h> #include <gtkmm2ext/tearoff.h>
#include "ardour/session.h"
#include "ardour/audioengine.h" #include "ardour/audioengine.h"
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/profile.h" #include "ardour/profile.h"

View file

@ -25,6 +25,8 @@
#include "pbd/error.h" #include "pbd/error.h"
#include "ardour/session.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "public_editor.h" #include "public_editor.h"
#include "mixer_ui.h" #include "mixer_ui.h"

View file

@ -19,6 +19,7 @@
#include "pbd/memento_command.h" #include "pbd/memento_command.h"
#include "ardour/session.h"
#include "ardour/audioregion.h" #include "ardour/audioregion.h"
#include "ardour/playlist.h" #include "ardour/playlist.h"
#include "ardour/utils.h" #include "ardour/utils.h"

View file

@ -29,6 +29,7 @@
#include "ardour/audiosource.h" #include "ardour/audiosource.h"
#include "ardour/audio_diskstream.h" #include "ardour/audio_diskstream.h"
#include "ardour/profile.h" #include "ardour/profile.h"
#include "ardour/session.h"
#include "pbd/memento_command.h" #include "pbd/memento_command.h"
#include "pbd/stacktrace.h" #include "pbd/stacktrace.h"

View file

@ -32,6 +32,8 @@
#include "ardour/source.h" #include "ardour/source.h"
#include "ardour/region_factory.h" #include "ardour/region_factory.h"
#include "ardour/profile.h" #include "ardour/profile.h"
#include "ardour/rc_configuration.h"
#include "ardour/session.h"
#include "audio_streamview.h" #include "audio_streamview.h"
#include "audio_region_view.h" #include "audio_region_view.h"

View file

@ -23,6 +23,7 @@
#include "ardour/automation_control.h" #include "ardour/automation_control.h"
#include "ardour/event_type_map.h" #include "ardour/event_type_map.h"
#include "ardour/route.h" #include "ardour/route.h"
#include "ardour/session.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "automation_time_axis.h" #include "automation_time_axis.h"

View file

@ -46,7 +46,7 @@
#include <gtkmm2ext/dndtreeview.h> #include <gtkmm2ext/dndtreeview.h>
#include "pbd/stateful.h" #include "pbd/stateful.h"
#include "ardour/session.h" #include "ardour/import_status.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/audioregion.h" #include "ardour/audioregion.h"
@ -83,6 +83,8 @@ namespace ARDOUR {
class Crossfade; class Crossfade;
class ChanCount; class ChanCount;
class MidiOperator; class MidiOperator;
class MidiTrack;
class AudioTrack;
} }
namespace LADSPA { namespace LADSPA {
@ -1189,7 +1191,7 @@ class Editor : public PublicEditor
/* import specific info */ /* import specific info */
struct EditorImportStatus : public ARDOUR::Session::ImportStatus { struct EditorImportStatus : public ARDOUR::ImportStatus {
Editing::ImportMode mode; Editing::ImportMode mode;
nframes64_t pos; nframes64_t pos;
int target_tracks; int target_tracks;

View file

@ -22,6 +22,7 @@
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/profile.h" #include "ardour/profile.h"
#include "ardour/session.h"
#include "actions.h" #include "actions.h"
#include "ardour_ui.h" #include "ardour_ui.h"

View file

@ -19,6 +19,7 @@
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/audio_diskstream.h" #include "ardour/audio_diskstream.h"
#include "ardour/rc_configuration.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "editor.h" #include "editor.h"

View file

@ -23,6 +23,7 @@
#include <gtkmm2ext/utils.h> #include <gtkmm2ext/utils.h>
#include "ardour/profile.h" #include "ardour/profile.h"
#include "ardour/rc_configuration.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "editor.h" #include "editor.h"

View file

@ -20,6 +20,7 @@
#include "pbd/memento_command.h" #include "pbd/memento_command.h"
#include "pbd/basename.h" #include "pbd/basename.h"
#include "ardour/diskstream.h" #include "ardour/diskstream.h"
#include "ardour/session.h"
#include "ardour/dB.h" #include "ardour/dB.h"
#include "ardour/region_factory.h" #include "ardour/region_factory.h"
#include "ardour/midi_diskstream.h" #include "ardour/midi_diskstream.h"

View file

@ -19,6 +19,8 @@
/* Note: public Editor methods are documented in public_editor.h */ /* Note: public Editor methods are documented in public_editor.h */
#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>
#include <unistd.h> #include <unistd.h>
#include <climits> #include <climits>
@ -44,6 +46,7 @@
#include "ardour/session_directory.h" #include "ardour/session_directory.h"
#include "ardour/source_factory.h" #include "ardour/source_factory.h"
#include "ardour/audiofilesource.h" #include "ardour/audiofilesource.h"
#include "ardour/session.h"
#include "i18n.h" #include "i18n.h"

View file

@ -19,6 +19,7 @@
#include "ardour/audioregion.h" #include "ardour/audioregion.h"
#include "ardour/playlist.h" #include "ardour/playlist.h"
#include "ardour/session.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "pbd/memento_command.h" #include "pbd/memento_command.h"

View file

@ -24,6 +24,7 @@
#include <libgnomecanvas/libgnomecanvas.h> #include <libgnomecanvas/libgnomecanvas.h>
#include <gtkmm2ext/gtk_ui.h> #include <gtkmm2ext/gtk_ui.h>
#include "ardour/session.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/profile.h" #include "ardour/profile.h"
#include "pbd/memento_command.h" #include "pbd/memento_command.h"

View file

@ -24,6 +24,7 @@
#include "pbd/enumwriter.h" #include "pbd/enumwriter.h"
#include "ardour/audioengine.h" #include "ardour/audioengine.h"
#include "ardour/session.h"
#include "editor.h" #include "editor.h"
#include "mixer_strip.h" #include "mixer_strip.h"

View file

@ -67,6 +67,7 @@
#include "ardour/utils.h" #include "ardour/utils.h"
#include "ardour/region_factory.h" #include "ardour/region_factory.h"
#include "ardour/source_factory.h" #include "ardour/source_factory.h"
#include "ardour/session.h"
#include <bitset> #include <bitset>

View file

@ -37,6 +37,7 @@
#include "editor_route_groups.h" #include "editor_route_groups.h"
#include "ardour/route.h" #include "ardour/route.h"
#include "ardour/session.h"
#include "i18n.h" #include "i18n.h"

View file

@ -25,6 +25,7 @@
#include <cassert> #include <cassert>
#include "ardour/diskstream.h" #include "ardour/diskstream.h"
#include "ardour/session.h"
#include "editor.h" #include "editor.h"
#include "keyboard.h" #include "keyboard.h"

View file

@ -17,13 +17,16 @@
*/ */
#define __STDC_FORMAT_MACROS 1
#include <cstdio> // for sprintf, grrr #include <cstdio> // for sprintf, grrr
#include <cmath> #include <cmath>
#include <inttypes.h>
#include <string> #include <string>
#include <gtk/gtkaction.h> #include <gtk/gtkaction.h>
#include "ardour/session.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "ardour/profile.h" #include "ardour/profile.h"
#include <gtkmm2ext/gtk_ui.h> #include <gtkmm2ext/gtk_ui.h>

View file

@ -22,6 +22,7 @@
#include "pbd/stacktrace.h" #include "pbd/stacktrace.h"
#include "ardour/session.h"
#include "ardour/diskstream.h" #include "ardour/diskstream.h"
#include "ardour/playlist.h" #include "ardour/playlist.h"
#include "ardour/route_group.h" #include "ardour/route_group.h"

View file

@ -19,6 +19,7 @@
#include <gtkmm/liststore.h> #include <gtkmm/liststore.h>
#include "gtkmm2ext/choice.h" #include "gtkmm2ext/choice.h"
#include "ardour/session.h"
#include "ardour/session_state_utils.h" #include "ardour/session_state_utils.h"
#include "ardour/session_directory.h" #include "ardour/session_directory.h"
#include "editor_snapshots.h" #include "editor_snapshots.h"

View file

@ -23,7 +23,6 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "ardour/export_handler.h"
#include "ardour/export_profile_manager.h" #include "ardour/export_profile_manager.h"
#include "public_editor.h" #include "public_editor.h"
@ -39,6 +38,7 @@
namespace ARDOUR { namespace ARDOUR {
class ExportStatus; class ExportStatus;
class ExportHandler;
} }
class ExportTimespanSelector; class ExportTimespanSelector;

View file

@ -28,7 +28,6 @@
#include <gtkmm/label.h> #include <gtkmm/label.h>
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/session.h"
#include "ardour_dialog.h" #include "ardour_dialog.h"

View file

@ -37,6 +37,7 @@
#include "ardour/midi_diskstream.h" #include "ardour/midi_diskstream.h"
#include "ardour/midi_model.h" #include "ardour/midi_model.h"
#include "ardour/midi_patch_manager.h" #include "ardour/midi_patch_manager.h"
#include "ardour/session.h"
#include "evoral/Parameter.hpp" #include "evoral/Parameter.hpp"
#include "evoral/Control.hpp" #include "evoral/Control.hpp"

View file

@ -31,6 +31,7 @@
#include "ardour/midi_track.h" #include "ardour/midi_track.h"
#include "ardour/region_factory.h" #include "ardour/region_factory.h"
#include "ardour/smf_source.h" #include "ardour/smf_source.h"
#include "ardour/session.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "canvas-simplerect.h" #include "canvas-simplerect.h"

View file

@ -26,6 +26,7 @@
#include "ardour/audio_buffer.h" #include "ardour/audio_buffer.h"
#include "ardour/data_type.h" #include "ardour/data_type.h"
#include "ardour/chan_mapping.h" #include "ardour/chan_mapping.h"
#include "ardour/session.h"
#include <gtkmm/box.h> #include <gtkmm/box.h>
#include <gtkmm/button.h> #include <gtkmm/button.h>

View file

@ -38,6 +38,7 @@
#include "ardour/plugin_manager.h" #include "ardour/plugin_manager.h"
#include "ardour/plugin.h" #include "ardour/plugin.h"
#include "ardour/configuration.h" #include "ardour/configuration.h"
#include "ardour/session.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "plugin_selector.h" #include "plugin_selector.h"

View file

@ -41,6 +41,7 @@
#include "midi++/manager.h" #include "midi++/manager.h"
#include "ardour/session.h"
#include "ardour/plugin.h" #include "ardour/plugin.h"
#include "ardour/plugin_insert.h" #include "ardour/plugin_insert.h"
#include "ardour/ladspa_plugin.h" #include "ardour/ladspa_plugin.h"

View file

@ -30,6 +30,7 @@
#include "ardour/audioregion.h" #include "ardour/audioregion.h"
#include "ardour/audiosource.h" #include "ardour/audiosource.h"
#include "ardour/audio_diskstream.h" #include "ardour/audio_diskstream.h"
#include "ardour/session.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "streamview.h" #include "streamview.h"

View file

@ -22,6 +22,7 @@
#include "ardour/amp.h" #include "ardour/amp.h"
#include "ardour/io.h" #include "ardour/io.h"
#include "ardour/return.h" #include "ardour/return.h"
#include "ardour/rc_configuration.h"
#include "utils.h" #include "utils.h"
#include "return_ui.h" #include "return_ui.h"

View file

@ -22,6 +22,7 @@
#include "ardour/amp.h" #include "ardour/amp.h"
#include "ardour/io.h" #include "ardour/io.h"
#include "ardour/send.h" #include "ardour/send.h"
#include "ardour/rc_configuration.h"
#include "utils.h" #include "utils.h"
#include "send_ui.h" #include "send_ui.h"

View file

@ -38,7 +38,6 @@
#include <gtkmm/label.h> #include <gtkmm/label.h>
#include <gtkmm/textview.h> #include <gtkmm/textview.h>
#include "ardour/session.h"
#include "ardour/audiofilesource.h" #include "ardour/audiofilesource.h"
#include "ardour_dialog.h" #include "ardour_dialog.h"

View file

@ -20,6 +20,8 @@
#include <gtkmm/liststore.h> #include <gtkmm/liststore.h>
#include <gtkmm/combobox.h> #include <gtkmm/combobox.h>
#include "ardour/utils.h"
class EngineControl; class EngineControl;
class ArdourStartup : public Gtk::Assistant { class ArdourStartup : public Gtk::Assistant {

View file

@ -27,6 +27,7 @@
#include "ardour/source.h" #include "ardour/source.h"
#include "ardour/diskstream.h" #include "ardour/diskstream.h"
#include "ardour/track.h" #include "ardour/track.h"
#include "ardour/session.h"
#include "streamview.h" #include "streamview.h"
#include "region_view.h" #include "region_view.h"

View file

@ -36,7 +36,7 @@
#include <gtkmm2ext/utils.h> #include <gtkmm2ext/utils.h>
#include "ardour/configuration.h" #include "ardour/configuration.h"
#include "ardour/configuration.h" #include "ardour/rc_configuration.h"
#include "ardour/filesystem_paths.h" #include "ardour/filesystem_paths.h"

View file

@ -33,6 +33,7 @@
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/element_importer.h" #include "ardour/element_importer.h"
#include "ardour/element_import_handler.h" #include "ardour/element_import_handler.h"
#include "ardour/import_status.h"
namespace ARDOUR { namespace ARDOUR {
@ -76,7 +77,7 @@ class AudioRegionImporter : public ElementImporter
// Interface implementation // Interface implementation
std::string get_info () const; std::string get_info () const;
Session::ImportStatus * get_import_status () { return &status; } ImportStatus * get_import_status () { return &status; }
// other stuff // other stuff
void add_sources_to_session (); void add_sources_to_session ();
@ -94,7 +95,7 @@ class AudioRegionImporter : public ElementImporter
PBD::ID old_id; PBD::ID old_id;
PBD::ID id; PBD::ID id;
std::list<std::string> filenames; std::list<std::string> filenames;
Session::ImportStatus status; ImportStatus status;
bool parse_xml_region (); bool parse_xml_region ();
bool parse_source_xml (); bool parse_source_xml ();

View file

@ -27,11 +27,13 @@
#include <sigc++/signal.h> #include <sigc++/signal.h>
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/session.h"
class XMLTree; class XMLTree;
namespace ARDOUR { namespace ARDOUR {
class Session;
class ImportStatus;
/// Virtual interface class for element importers /// Virtual interface class for element importers
class ElementImporter class ElementImporter
{ {
@ -51,7 +53,7 @@ class ElementImporter
virtual std::string get_info () const = 0; virtual std::string get_info () const = 0;
/** Gets import status, if applicable. */ /** Gets import status, if applicable. */
virtual Session::ImportStatus * get_import_status () { return 0; } virtual ImportStatus * get_import_status () { return 0; }
/** Prepares to move element /** Prepares to move element
* *

View file

@ -27,9 +27,9 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "ardour/session.h"
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/session.h"
namespace ARDOUR namespace ARDOUR
{ {

View file

@ -0,0 +1,49 @@
/*
Copyright (C) 2000 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __ardour_import_status_h__
#define __ardour_import_status_h__
#include <string>
#include <vector>
#include <stdint.h>
#include <sigc++/signal.h>
#include "ardour/types.h"
namespace ARDOUR {
struct ImportStatus : public InterThreadInfo {
std::string doing_what;
/* control info */
uint32_t total;
SrcQuality quality;
volatile bool freeze;
std::vector<Glib::ustring> paths;
bool replace_existing_source;
/* result */
SourceList sources;
};
} // namespace ARDOUR
#endif /* __ardour_import_status_h__ */

View file

@ -86,12 +86,14 @@ class AutomationList;
class AuxInput; class AuxInput;
class BufferSet; class BufferSet;
class Bundle; class Bundle;
class Butler;
class ControlProtocolInfo; class ControlProtocolInfo;
class Diskstream; class Diskstream;
class ExportHandler; class ExportHandler;
class ExportStatus; class ExportStatus;
class IO; class IO;
class IOProcessor; class IOProcessor;
class ImportStatus;
class MidiDiskstream; class MidiDiskstream;
class MidiRegion; class MidiRegion;
class MidiSource; class MidiSource;
@ -114,7 +116,6 @@ class Slave;
class Source; class Source;
class TempoMap; class TempoMap;
class VSTPlugin; class VSTPlugin;
class Butler;
class Session : public PBD::StatefulDestructible, public boost::noncopyable class Session : public PBD::StatefulDestructible, public boost::noncopyable
{ {
@ -612,20 +613,6 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
/* source management */ /* source management */
struct ImportStatus : public InterThreadInfo {
std::string doing_what;
/* control info */
uint32_t total;
SrcQuality quality;
volatile bool freeze;
std::vector<Glib::ustring> paths;
bool replace_existing_source;
/* result */
SourceList sources;
};
void import_audiofiles (ImportStatus&); void import_audiofiles (ImportStatus&);
bool sample_rate_convert (ImportStatus&, std::string infile, std::string& outfile); bool sample_rate_convert (ImportStatus&, std::string infile, std::string& outfile);
std::string build_tmp_convert_name (std::string file); std::string build_tmp_convert_name (std::string file);
@ -644,13 +631,8 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
uint32_t source_use_count (boost::shared_ptr<const Source> src) const; uint32_t source_use_count (boost::shared_ptr<const Source> src) const;
struct cleanup_report { int cleanup_sources (CleanupReport&);
std::vector<std::string> paths; int cleanup_trash_sources (CleanupReport&);
int64_t space;
};
int cleanup_sources (cleanup_report&);
int cleanup_trash_sources (cleanup_report&);
int destroy_region (boost::shared_ptr<Region>); int destroy_region (boost::shared_ptr<Region>);
int destroy_regions (std::list<boost::shared_ptr<Region> >); int destroy_regions (std::list<boost::shared_ptr<Region> >);

View file

@ -25,7 +25,8 @@
namespace ARDOUR { namespace ARDOUR {
template<class T> void Session::foreach_region (T *obj, void (T::*func)(boost::shared_ptr<Region>)) template<class T> void
Session::foreach_region (T *obj, void (T::*func)(boost::shared_ptr<Region>))
{ {
Glib::Mutex::Lock lm (region_lock); Glib::Mutex::Lock lm (region_lock);
for (RegionList::iterator i = regions.begin(); i != regions.end(); i++) { for (RegionList::iterator i = regions.begin(); i != regions.end(); i++) {

View file

@ -25,9 +25,7 @@
#include <jack/jack.h> #include <jack/jack.h>
#include <sigc++/signal.h> #include <sigc++/signal.h>
#include "ardour/ardour.h" #include "ardour/types.h"
#include "ardour/session.h"
#include "ardour/audioengine.h"
#include "midi++/parser.h" #include "midi++/parser.h"
#include "midi++/types.h" #include "midi++/types.h"
@ -36,6 +34,10 @@ namespace MIDI {
} }
namespace ARDOUR { namespace ARDOUR {
class TempoMap;
class Session;
/** /**
* @class Slave * @class Slave
* *
@ -177,16 +179,17 @@ class SlaveSessionProxy : public ISlaveSessionProxy {
Session& session; Session& session;
public: public:
SlaveSessionProxy(Session &s) : session(s) {}; SlaveSessionProxy(Session &s) : session(s) {}
TempoMap& tempo_map() const { return session.tempo_map(); }
nframes_t frame_rate() const { return session.frame_rate(); }
nframes_t audible_frame () const { return session.audible_frame(); }
nframes_t transport_frame () const { return session.transport_frame(); }
nframes_t frames_since_cycle_start () const { return session.engine().frames_since_cycle_start(); }
nframes_t frame_time () const { return session.engine().frame_time(); }
void request_locate (nframes_t frame, bool with_roll = false) { session.request_locate(frame, with_roll); } TempoMap& tempo_map() const;
void request_transport_speed (double speed) { session.request_transport_speed(speed); } nframes_t frame_rate() const;
nframes_t audible_frame () const;
nframes_t transport_frame () const;
nframes_t frames_since_cycle_start () const;
nframes_t frame_time () const;
void request_locate (nframes_t frame, bool with_roll = false);
void request_transport_speed (double speed);
}; };
struct SafeTime { struct SafeTime {

View file

@ -423,6 +423,11 @@ namespace ARDOUR {
Groove Groove
}; };
struct CleanupReport {
std::vector<std::string> paths;
int64_t space;
};
} // namespace ARDOUR } // namespace ARDOUR

View file

@ -45,20 +45,21 @@
#include "evoral/SMF.hpp" #include "evoral/SMF.hpp"
#include "ardour/analyser.h"
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/session.h"
#include "ardour/session_directory.h"
#include "ardour/audio_diskstream.h" #include "ardour/audio_diskstream.h"
#include "ardour/audioengine.h" #include "ardour/audioengine.h"
#include "ardour/sndfilesource.h"
#include "ardour/sndfile_helpers.h"
#include "ardour/audioregion.h" #include "ardour/audioregion.h"
#include "ardour/import_status.h"
#include "ardour/region_factory.h" #include "ardour/region_factory.h"
#include "ardour/source_factory.h"
#include "ardour/resampled_source.h" #include "ardour/resampled_source.h"
#include "ardour/sndfileimportable.h" #include "ardour/session.h"
#include "ardour/analyser.h" #include "ardour/session_directory.h"
#include "ardour/smf_source.h" #include "ardour/smf_source.h"
#include "ardour/sndfile_helpers.h"
#include "ardour/sndfileimportable.h"
#include "ardour/sndfilesource.h"
#include "ardour/source_factory.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#ifdef HAVE_COREAUDIO #ifdef HAVE_COREAUDIO
@ -260,7 +261,7 @@ compose_status_message (const string& path,
} }
static void static void
write_audio_data_to_new_files (ImportableSource* source, Session::ImportStatus& status, write_audio_data_to_new_files (ImportableSource* source, ImportStatus& status,
vector<boost::shared_ptr<Source> >& newfiles) vector<boost::shared_ptr<Source> >& newfiles)
{ {
const nframes_t nframes = ResampledImportableSource::blocksize; const nframes_t nframes = ResampledImportableSource::blocksize;
@ -312,7 +313,7 @@ write_audio_data_to_new_files (ImportableSource* source, Session::ImportStatus&
} }
static void static void
write_midi_data_to_new_files (Evoral::SMF* source, Session::ImportStatus& status, write_midi_data_to_new_files (Evoral::SMF* source, ImportStatus& status,
vector<boost::shared_ptr<Source> >& newfiles) vector<boost::shared_ptr<Source> >& newfiles)
{ {
uint32_t buf_size = 4; uint32_t buf_size = 4;

View file

@ -2436,7 +2436,7 @@ struct RegionCounter {
}; };
int int
Session::cleanup_sources (Session::cleanup_report& rep) Session::cleanup_sources (CleanupReport& rep)
{ {
// FIXME: needs adaptation to midi // FIXME: needs adaptation to midi
@ -2699,7 +2699,7 @@ Session::cleanup_sources (Session::cleanup_report& rep)
} }
int int
Session::cleanup_trash_sources (Session::cleanup_report& rep) Session::cleanup_trash_sources (CleanupReport& rep)
{ {
// FIXME: needs adaptation for MIDI // FIXME: needs adaptation for MIDI

74
libs/ardour/slave.cc Normal file
View file

@ -0,0 +1,74 @@
/*
Copyright (C) 2002 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "ardour/audioengine.h"
#include "ardour/session.h"
#include "ardour/slave.h"
namespace ARDOUR {
TempoMap&
SlaveSessionProxy::tempo_map() const
{
return session.tempo_map();
}
nframes_t
SlaveSessionProxy::frame_rate() const
{
return session.frame_rate();
}
nframes_t
SlaveSessionProxy::audible_frame() const
{
return session.audible_frame();
}
nframes_t
SlaveSessionProxy::transport_frame() const
{
return session.transport_frame();
}
nframes_t
SlaveSessionProxy::frames_since_cycle_start() const
{
return session.engine().frames_since_cycle_start();
}
nframes_t
SlaveSessionProxy::frame_time() const
{
return session.engine().frame_time();
}
void
SlaveSessionProxy::request_locate(nframes_t frame, bool with_roll)
{
session.request_locate(frame, with_roll);
}
void
SlaveSessionProxy::request_transport_speed(double speed)
{
session.request_transport_speed(speed);
}
} // namespace ARDOUR

View file

@ -168,6 +168,7 @@ libardour_sources = [
'session_time.cc', 'session_time.cc',
'session_transport.cc', 'session_transport.cc',
'session_utils.cc', 'session_utils.cc',
'slave.cc',
'smf_source.cc', 'smf_source.cc',
'sndfile_helpers.cc', 'sndfile_helpers.cc',
'sndfileimportable.cc', 'sndfileimportable.cc',

View file

@ -56,7 +56,6 @@
#include "ardour/route.h" #include "ardour/route.h"
#include "ardour/audio_track.h" #include "ardour/audio_track.h"
#include "ardour/session.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/dB.h" #include "ardour/dB.h"

View file

@ -28,8 +28,8 @@
#include "midi++/port.h" #include "midi++/port.h"
#include "midi++/manager.h" #include "midi++/manager.h"
#include "ardour/route.h"
#include "ardour/session.h" #include "ardour/session.h"
#include "ardour/route.h"
#include "generic_midi_control_protocol.h" #include "generic_midi_control_protocol.h"
#include "midicontrollable.h" #include "midicontrollable.h"

View file

@ -18,7 +18,9 @@
#include "control_protocol/control_protocol.h" #include "control_protocol/control_protocol.h"
#include "mackie_control_protocol.h" #include "mackie_control_protocol.h"
#include <pbd/error.h> #include "ardour/rc_configuration.h"
#include "pbd/error.h"
#include <stdexcept> #include <stdexcept>

View file

@ -40,8 +40,8 @@
#include "pbd/memento_command.h" #include "pbd/memento_command.h"
#include "pbd/convert.h" #include "pbd/convert.h"
#include "ardour/route.h"
#include "ardour/session.h" #include "ardour/session.h"
#include "ardour/route.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/dB.h" #include "ardour/dB.h"
#include "ardour/panner.h" #include "ardour/panner.h"

View file

@ -26,7 +26,6 @@
#include <glibmm/thread.h> #include <glibmm/thread.h>
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/session.h"
#include "midi++/types.h" #include "midi++/types.h"
#include "control_protocol/control_protocol.h" #include "control_protocol/control_protocol.h"

View file

@ -3,18 +3,19 @@
#include "midi_byte_array.h" #include "midi_byte_array.h"
#include "surface_port.h" #include "surface_port.h"
#include <pbd/pthread_utils.h> #include "pbd/pthread_utils.h"
#include <pbd/error.h> #include "pbd/error.h"
#include <midi++/types.h> #include "midi++/types.h"
#include <midi++/port.h> #include "midi++/port.h"
#include <midi++/manager.h> #include "midi++/manager.h"
#include "i18n.h" #include "i18n.h"
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <poll.h> #include <poll.h>
#include <errno.h> #include <errno.h>
#include <string.h>
#include <iostream> #include <iostream>
#include <string> #include <string>

View file

@ -1,5 +1,7 @@
#include <cmath> #include <cmath>
#include <ardour/session.h>
#include "mackie_jog_wheel.h" #include "mackie_jog_wheel.h"
#include "mackie_control_protocol.h" #include "mackie_control_protocol.h"

View file

@ -30,7 +30,7 @@
#include "midi++/types.h" #include "midi++/types.h"
#include "midi++/port.h" #include "midi++/port.h"
#include "sigc++/sigc++.h" #include "sigc++/sigc++.h"
#include "ardour/configuration.h" #include "ardour/rc_configuration.h"
#include "i18n.h" #include "i18n.h"

View file

@ -17,6 +17,7 @@
* *
* */ * */
#include "ardour/rc_configuration.h"
#include "control_protocol/control_protocol.h" #include "control_protocol/control_protocol.h"
#include "osc.h" #include "osc.h"

View file

@ -32,7 +32,6 @@
#include <sigc++/sigc++.h> #include <sigc++/sigc++.h>
#include "ardour/types.h" #include "ardour/types.h"
#include "ardour/session.h"
#include "control_protocol/control_protocol.h" #include "control_protocol/control_protocol.h"
class OSCControllable; class OSCControllable;

View file

@ -36,7 +36,7 @@
#include "ardour/route.h" #include "ardour/route.h"
#include "ardour/audio_track.h" #include "ardour/audio_track.h"
#include "ardour/session.h" #include "ardour/rc_configuration.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/dB.h" #include "ardour/dB.h"

View file

@ -37,7 +37,6 @@
#include "ardour/route.h" #include "ardour/route.h"
#include "ardour/audio_track.h" #include "ardour/audio_track.h"
#include "ardour/session.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "ardour/location.h" #include "ardour/location.h"
#include "ardour/dB.h" #include "ardour/dB.h"