summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-30 15:30:22 +0000
committerDavid Robillard <d@drobilla.net>2009-10-30 15:30:22 +0000
commitc83e48e07a0b4790512c6251d8ad8f941c881021 (patch)
tree7642961a3a356dbc55fe4565cf94ab3d632d7012 /libs/ardour/ardour
parente5258d4ed18a358f9812acd971336272508f7038 (diff)
Trim session.h include dependency tree.
git-svn-id: svn://localhost/ardour2/branches/3.0@5979 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audio_region_importer.h5
-rw-r--r--libs/ardour/ardour/element_importer.h6
-rw-r--r--libs/ardour/ardour/export_handler.h2
-rw-r--r--libs/ardour/ardour/import_status.h49
-rw-r--r--libs/ardour/ardour/session.h26
-rw-r--r--libs/ardour/ardour/session_region.h3
-rw-r--r--libs/ardour/ardour/slave.h29
-rw-r--r--libs/ardour/ardour/types.h5
8 files changed, 84 insertions, 41 deletions
diff --git a/libs/ardour/ardour/audio_region_importer.h b/libs/ardour/ardour/audio_region_importer.h
index d6d5c192d9..2187d92148 100644
--- a/libs/ardour/ardour/audio_region_importer.h
+++ b/libs/ardour/ardour/audio_region_importer.h
@@ -33,6 +33,7 @@
#include "ardour/types.h"
#include "ardour/element_importer.h"
#include "ardour/element_import_handler.h"
+#include "ardour/import_status.h"
namespace ARDOUR {
@@ -76,7 +77,7 @@ class AudioRegionImporter : public ElementImporter
// Interface implementation
std::string get_info () const;
- Session::ImportStatus * get_import_status () { return &status; }
+ ImportStatus * get_import_status () { return &status; }
// other stuff
void add_sources_to_session ();
@@ -94,7 +95,7 @@ class AudioRegionImporter : public ElementImporter
PBD::ID old_id;
PBD::ID id;
std::list<std::string> filenames;
- Session::ImportStatus status;
+ ImportStatus status;
bool parse_xml_region ();
bool parse_source_xml ();
diff --git a/libs/ardour/ardour/element_importer.h b/libs/ardour/ardour/element_importer.h
index 396ac8358d..a203c5d37b 100644
--- a/libs/ardour/ardour/element_importer.h
+++ b/libs/ardour/ardour/element_importer.h
@@ -27,11 +27,13 @@
#include <sigc++/signal.h>
#include "ardour/types.h"
-#include "ardour/session.h"
class XMLTree;
namespace ARDOUR {
+class Session;
+class ImportStatus;
+
/// Virtual interface class for element importers
class ElementImporter
{
@@ -51,7 +53,7 @@ class ElementImporter
virtual std::string get_info () const = 0;
/** Gets import status, if applicable. */
- virtual Session::ImportStatus * get_import_status () { return 0; }
+ virtual ImportStatus * get_import_status () { return 0; }
/** Prepares to move element
*
diff --git a/libs/ardour/ardour/export_handler.h b/libs/ardour/ardour/export_handler.h
index b222c04eb4..fad21ac780 100644
--- a/libs/ardour/ardour/export_handler.h
+++ b/libs/ardour/ardour/export_handler.h
@@ -27,9 +27,9 @@
#include <boost/shared_ptr.hpp>
+#include "ardour/session.h"
#include "ardour/ardour.h"
#include "ardour/types.h"
-#include "ardour/session.h"
namespace ARDOUR
{
diff --git a/libs/ardour/ardour/import_status.h b/libs/ardour/ardour/import_status.h
new file mode 100644
index 0000000000..25a14f3fae
--- /dev/null
+++ b/libs/ardour/ardour/import_status.h
@@ -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__ */
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index d850fb96d6..8dfcf228b9 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -86,12 +86,14 @@ class AutomationList;
class AuxInput;
class BufferSet;
class Bundle;
+class Butler;
class ControlProtocolInfo;
class Diskstream;
class ExportHandler;
class ExportStatus;
class IO;
class IOProcessor;
+class ImportStatus;
class MidiDiskstream;
class MidiRegion;
class MidiSource;
@@ -114,7 +116,6 @@ class Slave;
class Source;
class TempoMap;
class VSTPlugin;
-class Butler;
class Session : public PBD::StatefulDestructible, public boost::noncopyable
{
@@ -612,20 +613,6 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
/* 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&);
bool sample_rate_convert (ImportStatus&, std::string infile, std::string& outfile);
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;
- struct cleanup_report {
- std::vector<std::string> paths;
- int64_t space;
- };
-
- int cleanup_sources (cleanup_report&);
- int cleanup_trash_sources (cleanup_report&);
+ int cleanup_sources (CleanupReport&);
+ int cleanup_trash_sources (CleanupReport&);
int destroy_region (boost::shared_ptr<Region>);
int destroy_regions (std::list<boost::shared_ptr<Region> >);
diff --git a/libs/ardour/ardour/session_region.h b/libs/ardour/ardour/session_region.h
index a9c9713035..136aaa0022 100644
--- a/libs/ardour/ardour/session_region.h
+++ b/libs/ardour/ardour/session_region.h
@@ -25,7 +25,8 @@
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);
for (RegionList::iterator i = regions.begin(); i != regions.end(); i++) {
diff --git a/libs/ardour/ardour/slave.h b/libs/ardour/ardour/slave.h
index 64e350ae9c..0f005d6f1b 100644
--- a/libs/ardour/ardour/slave.h
+++ b/libs/ardour/ardour/slave.h
@@ -25,9 +25,7 @@
#include <jack/jack.h>
#include <sigc++/signal.h>
-#include "ardour/ardour.h"
-#include "ardour/session.h"
-#include "ardour/audioengine.h"
+#include "ardour/types.h"
#include "midi++/parser.h"
#include "midi++/types.h"
@@ -36,6 +34,10 @@ namespace MIDI {
}
namespace ARDOUR {
+
+class TempoMap;
+class Session;
+
/**
* @class Slave
*
@@ -177,16 +179,17 @@ class SlaveSessionProxy : public ISlaveSessionProxy {
Session& session;
public:
- 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); }
- void request_transport_speed (double speed) { session.request_transport_speed(speed); }
+ SlaveSessionProxy(Session &s) : session(s) {}
+
+ TempoMap& tempo_map() const;
+ 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 {
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 6ec954075c..dd2c8861be 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -423,6 +423,11 @@ namespace ARDOUR {
Groove
};
+ struct CleanupReport {
+ std::vector<std::string> paths;
+ int64_t space;
+ };
+
} // namespace ARDOUR