Fill some more VST transport flags.
authorBen Loftis <ben@harrisonconsoles.com>
Tue, 16 Feb 2016 21:32:58 +0000 (15:32 -0600)
committerBen Loftis <ben@harrisonconsoles.com>
Tue, 16 Feb 2016 21:33:12 +0000 (15:33 -0600)
libs/ardour/ardour/vestige/aeffectx.h
libs/ardour/session_vst.cc

index f09c00999361287460bf0b0584653182bcc9f28e..2b839f0ab1317429ba20423281a4ad14c00531e6 100644 (file)
 
 struct RemoteVstPlugin;
 
+#define kVstTransportChanged 1
 #define kVstTransportPlaying (1 << 1)
+#define kVstTransportCycleActive (1 << 2)
+
+#define kVstAutomationWriting (1 << 6)
+#define kVstAutomationReading (1 << 7)
 
 #define kVstNanosValid (1 << 8)
 #define kVstPpqPosValid (1 << 9)
index 96dc4115c75818aba9eb766545b3161b542db480..c6978eddc704c7a1273d47d57b5b80abda1de560 100644 (file)
@@ -249,11 +249,18 @@ intptr_t Session::vst_callback (
                                _timeInfo.flags |= (kVstSmpteValid);
                        }
 
+                       //ToDo: 
+                       //if this is found to be burdensome to plugins,
+                       //we should cache the previous state at a global level,
+                       //and only set this flag when the transport changes state
+                       _timeInfo.flags |= (kVstTransportChanged);
+
                        if (session->transport_speed() != 0.0f) {
                                _timeInfo.flags |= (kVstTransportPlaying);
                        }
 
                        if (session->get_play_loop()) {
+                               _timeInfo.flags |= (kVstTransportCycleActive);
                        }
 
                } else {