summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/audio_port.h2
-rw-r--r--libs/ardour/ardour/midi_port.h2
-rw-r--r--libs/ardour/ardour/port.h9
-rw-r--r--libs/ardour/audio_port.cc6
-rw-r--r--libs/ardour/internal_audio_port.cc8
-rw-r--r--libs/ardour/internal_port.cc3
-rw-r--r--libs/ardour/jack_audio_port.cc2
-rw-r--r--libs/ardour/jack_midi_port.cc2
-rw-r--r--libs/ardour/jack_port.cc4
-rw-r--r--libs/ardour/midi_port.cc6
-rw-r--r--libs/ardour/port.cc3
11 files changed, 19 insertions, 28 deletions
diff --git a/libs/ardour/ardour/audio_port.h b/libs/ardour/ardour/audio_port.h
index e412e09bc4..ce544aa7bc 100644
--- a/libs/ardour/ardour/audio_port.h
+++ b/libs/ardour/ardour/audio_port.h
@@ -33,8 +33,6 @@ class AudioEngine;
class AudioPort : public virtual Port {
public:
- DataType type() const { return DataType::AUDIO; }
-
virtual Buffer& get_buffer () {
return _buffer;
}
diff --git a/libs/ardour/ardour/midi_port.h b/libs/ardour/ardour/midi_port.h
index 3711373c31..0787f66494 100644
--- a/libs/ardour/ardour/midi_port.h
+++ b/libs/ardour/ardour/midi_port.h
@@ -35,8 +35,6 @@ class MidiPort : public virtual Port {
public:
virtual ~MidiPort();
- DataType type() const { return DataType::MIDI; }
-
Buffer& get_buffer() {
return _buffer;
}
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index 5c8192b6e8..e9179ae326 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -74,7 +74,8 @@ class Port : public virtual sigc::trackable {
if (_metering) { _metering--; }
}
- virtual DataType type() const = 0;
+ DataType type() const { return _type; }
+
virtual void cycle_start(nframes_t nframes) {}
virtual void cycle_end() {}
virtual Buffer& get_buffer() = 0;
@@ -97,7 +98,7 @@ class Port : public virtual sigc::trackable {
protected:
friend class AudioEngine;
- Port (Flags);
+ Port (DataType, Flags);
virtual int disconnect () = 0;
virtual void recompute_total_latency() const = 0;
@@ -105,8 +106,8 @@ class Port : public virtual sigc::trackable {
/* engine isn't supposed to access below here */
- Flags _flags;
- std::string _type;
+ Flags _flags;
+ const DataType _type;
std::string _name;
unsigned short _metering;
bool _last_monitor;
diff --git a/libs/ardour/audio_port.cc b/libs/ardour/audio_port.cc
index 2e3682fe3b..13dad9b8e0 100644
--- a/libs/ardour/audio_port.cc
+++ b/libs/ardour/audio_port.cc
@@ -27,16 +27,14 @@ nframes_t AudioPort::_short_over_length = 2;
nframes_t AudioPort::_long_over_length = 10;
AudioPort::AudioPort(Flags flags)
- : Port (flags), _buffer (0)
+ : Port (DataType::AUDIO, flags), _buffer (0)
{
- _type = DataType::AUDIO;
reset();
}
AudioPort::AudioPort(Flags flags, nframes_t nframes)
- : Port (flags), _buffer (nframes)
+ : Port (DataType::AUDIO, flags), _buffer (nframes)
{
- _type = DataType::AUDIO;
reset();
}
diff --git a/libs/ardour/internal_audio_port.cc b/libs/ardour/internal_audio_port.cc
index b6356cb6fb..e5362cde95 100644
--- a/libs/ardour/internal_audio_port.cc
+++ b/libs/ardour/internal_audio_port.cc
@@ -35,10 +35,10 @@ InternalAudioPort::default_mixdown (const list<InternalPort*>& ports, AudioBuffe
}
}
-InternalAudioPort::InternalAudioPort(const string& name, Flags flgs)
- : Port (flgs)
- , AudioPort (flgs, engine->frames_per_cycle())
- , InternalPort (name, DataType::AUDIO, flgs)
+InternalAudioPort::InternalAudioPort(const string& name, Flags flags)
+ : Port (DataType::AUDIO, flags)
+ , AudioPort (flags, engine->frames_per_cycle())
+ , InternalPort (name, DataType::AUDIO, flags)
{
_mixdown = default_mixdown;
}
diff --git a/libs/ardour/internal_port.cc b/libs/ardour/internal_port.cc
index 620fd69caa..cec11742e0 100644
--- a/libs/ardour/internal_port.cc
+++ b/libs/ardour/internal_port.cc
@@ -35,10 +35,9 @@ InternalPort::set_engine (AudioEngine* e)
}
InternalPort::InternalPort (const string& str, DataType type, Flags flags)
- : Port (flags)
+ : Port (type, flags)
{
set_name (str);
- _type = type;
}
InternalPort::~InternalPort ()
diff --git a/libs/ardour/jack_audio_port.cc b/libs/ardour/jack_audio_port.cc
index acba8a787c..e4bdcb5d72 100644
--- a/libs/ardour/jack_audio_port.cc
+++ b/libs/ardour/jack_audio_port.cc
@@ -23,7 +23,7 @@
using namespace ARDOUR;
JackAudioPort::JackAudioPort(const std::string& name, Flags flgs)
- : Port (flgs), AudioPort (flgs), JackPort (name, DataType::AUDIO, flgs)
+ : Port (DataType::AUDIO, flgs), AudioPort (flgs), JackPort (name, DataType::AUDIO, flgs)
{
}
diff --git a/libs/ardour/jack_midi_port.cc b/libs/ardour/jack_midi_port.cc
index 109d7ca9e6..ed999f187a 100644
--- a/libs/ardour/jack_midi_port.cc
+++ b/libs/ardour/jack_midi_port.cc
@@ -21,7 +21,7 @@
using namespace ARDOUR;
JackMidiPort::JackMidiPort (const std::string& name, Flags flgs)
- : Port (flgs)
+ : Port (DataType::MIDI, flgs)
, JackPort (name, DataType::MIDI, flgs)
, MidiPort (flgs, 4096) // FIXME FIXME FIXME Jack needs to tell us this
, _nframes_this_cycle(0)
diff --git a/libs/ardour/jack_port.cc b/libs/ardour/jack_port.cc
index 02582d833e..c7d737ca0f 100644
--- a/libs/ardour/jack_port.cc
+++ b/libs/ardour/jack_port.cc
@@ -31,7 +31,7 @@ using namespace std;
AudioEngine* JackPort::engine = 0;
JackPort::JackPort (const std::string& name, DataType type, Flags flgs)
- : Port (flgs), _port (0)
+ : Port (type, flgs), _port (0)
{
_port = jack_port_register (engine->jack(), name.c_str(), type.to_jack_type(), flgs, 0);
@@ -39,8 +39,6 @@ JackPort::JackPort (const std::string& name, DataType type, Flags flgs)
throw failed_constructor();
}
- _flags = flgs;
- _type = type;
_name = jack_port_name (_port);
}
diff --git a/libs/ardour/midi_port.cc b/libs/ardour/midi_port.cc
index bd72528794..661df2ce54 100644
--- a/libs/ardour/midi_port.cc
+++ b/libs/ardour/midi_port.cc
@@ -26,12 +26,10 @@ using namespace ARDOUR;
using namespace std;
MidiPort::MidiPort (Flags flags, nframes_t bufsize)
- : Port (flags), _buffer (bufsize)
+ : Port (DataType::MIDI, flags)
+ , _buffer (bufsize)
{
- _type = DataType::MIDI;
reset();
-
-
}
MidiPort::~MidiPort()
diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc
index f65ce9906b..1a31124c73 100644
--- a/libs/ardour/port.cc
+++ b/libs/ardour/port.cc
@@ -22,8 +22,9 @@
using namespace ARDOUR;
using namespace std;
-Port::Port (Flags flags)
+Port::Port (DataType type, Flags flags)
: _flags (flags)
+ , _type (type)
, _metering (0)
, _last_monitor (false)
{