Inrease the export "chunk size" to speed it up over 10% at least in some situations
[ardour.git] / libs / ardour / butler.cc
index 7a5d50d06dd572c85cd4f14b5cd6feb7fc292914..3e9c7b0d96e18105ea541f4ba6cea399d796d456 100644 (file)
@@ -24,7 +24,6 @@
 #include "pbd/error.h"
 #include "pbd/pthread_utils.h"
 #include "ardour/butler.h"
-#include "ardour/crossfade.h"
 #include "ardour/io.h"
 #include "ardour/midi_diskstream.h"
 #include "ardour/session.h"
@@ -86,8 +85,6 @@ Butler::start_thread()
 
        MidiDiskstream::set_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * rate));
 
-       Crossfade::set_buffer_size (audio_dstream_playback_buffer_size);
-
        should_run = false;
 
        if (pipe (request_pipe)) {
@@ -179,9 +176,6 @@ Butler::thread_work ()
 
                                        switch ((Request::Type) req) {
 
-                                       case Request::Wake:
-                                               break;
-
                                        case Request::Run:
                                                should_run = true;
                                                break;
@@ -243,6 +237,9 @@ restart:
                        }
 
                        switch (tr->do_refill ()) {
+                       case 0:
+                               break;
+                               
                        case 1:
                                disk_work_outstanding = true;
                                break;
@@ -276,6 +273,9 @@ restart:
                         */
 
                        switch (tr->do_flush (ButlerContext)) {
+                       case 0:
+                               break;
+                               
                        case 1:
                                disk_work_outstanding = true;
                                break;
@@ -359,7 +359,7 @@ void
 Butler::wait_until_finished ()
 {
        Glib::Mutex::Lock lm (request_lock);
-       char c = Request::Wake;
+       char c = Request::Pause;
        (void) ::write (request_pipe[1], &c, 1);
        paused.wait(request_lock);
 }