summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-10-13 15:07:50 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-10-13 15:07:50 +0000
commit2b90eeade92f750e85408f25b2d34af3e695f1cf (patch)
tree0057ef49e6c3692f2933bfffc22ec5db4ae402e4 /libs/ardour
parent1f2c5ba533d1e257e35c042feb79561757e03f4b (diff)
session export starts from session start marker; add tooltips for rude solo + audition; start work on control protocol feedback control (unfinished but compiles and runs
git-svn-id: svn://localhost/ardour2/trunk@985 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/control_protocol_manager.h1
-rw-r--r--libs/ardour/control_protocol_manager.cc1
-rw-r--r--libs/ardour/session.cc14
-rw-r--r--libs/ardour/session_midi.cc2
4 files changed, 16 insertions, 2 deletions
diff --git a/libs/ardour/ardour/control_protocol_manager.h b/libs/ardour/ardour/control_protocol_manager.h
index 99de5479fb..39e4803637 100644
--- a/libs/ardour/ardour/control_protocol_manager.h
+++ b/libs/ardour/ardour/control_protocol_manager.h
@@ -23,6 +23,7 @@ struct ControlProtocolInfo {
std::string path;
bool requested;
bool mandatory;
+ bool supports_feedback;
XMLNode* state;
ControlProtocolInfo() : descriptor (0), protocol (0), state (0) {}
diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc
index 7170b45656..1ff6c28ef3 100644
--- a/libs/ardour/control_protocol_manager.cc
+++ b/libs/ardour/control_protocol_manager.cc
@@ -189,6 +189,7 @@ ControlProtocolManager::control_protocol_discover (string path)
cpi->protocol = 0;
cpi->requested = false;
cpi->mandatory = descriptor->mandatory;
+ cpi->supports_feedback = descriptor->supports_feedback;
cpi->state = 0;
control_protocol_info.push_back (cpi);
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index d5ff3d223c..e8f6ec1023 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3288,7 +3288,19 @@ Session::remove_redirect (Redirect* redirect)
nframes_t
Session::available_capture_duration ()
{
- const double scale = 4096.0 / sizeof (Sample);
+ float sample_bytes_on_disk;
+
+ switch (Config->get_native_file_data_format()) {
+ case FormatFloat:
+ sample_bytes_on_disk = 4;
+ break;
+
+ case FormatInt24:
+ sample_bytes_on_disk = 3;
+ break;
+ }
+
+ double scale = 4096.0 / sample_bytes_on_disk;
if (_total_free_4k_blocks * scale > (double) max_frames) {
return max_frames;
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc
index 1af00ca337..fe08b40127 100644
--- a/libs/ardour/session_midi.cc
+++ b/libs/ardour/session_midi.cc
@@ -1111,7 +1111,7 @@ Session::terminate_midi_thread ()
void
Session::poke_midi_thread ()
{
- char c;
+ static char c = 0;
if (write (midi_request_pipe[1], &c, 1) != 1) {
error << string_compose(_("cannot send signal to midi thread! (%1)"), strerror (errno)) << endmsg;