summaryrefslogtreecommitdiff
path: root/add_vsti_to_midi_file.py
diff options
context:
space:
mode:
Diffstat (limited to 'add_vsti_to_midi_file.py')
-rw-r--r--add_vsti_to_midi_file.py101
1 files changed, 101 insertions, 0 deletions
diff --git a/add_vsti_to_midi_file.py b/add_vsti_to_midi_file.py
new file mode 100644
index 0000000..5b30120
--- /dev/null
+++ b/add_vsti_to_midi_file.py
@@ -0,0 +1,101 @@
+from subprocess import call
+DEFAULT_MIDI_TRACK = '/Users/pepper/Desktop/example.mid'
+DEFAULT_VSTI = 'Omnisphere';
+DEFAULT_TRACK_NAME = 'last'
+
+def console(m):
+ s = str(m) + '\n'
+ return RPR_ShowConsoleMsg(s)
+
+def insertMidiNewTrack(midi_file=DEFAULT_MIDI_TRACK):
+ return RPR_InsertMedia(midi_file, 1);
+
+def addVstiToTrack(track_number=0, FX=DEFAULT_VSTI):
+ track = RPR_GetTrack(track_number,0);
+ fxIdx = RPR_TrackFX_GetByName (track, FX, 1)
+ isOpen = RPR_TrackFX_GetOpen(track, fxIdx)
+ if isOpen ==0:
+ isOpen = 1
+ else:
+ isOpen = 0
+ RPR_TrackFX_SetOpen(track, fxIdx, isOpen)
+ #close FX dialog on track 1
+ RPR_Main_OnCommand(41749,0)
+
+def renderAndClear(track_name):
+ RPR_Main_OnCommand(41824,0); #render everything
+ filename = "/Users/pepper/Documents/REAPER Media/%s.wav" % track_name;
+ call(["mv","/Users/pepper/Documents/REAPER Media/untitled.wav", filename])
+ RPR_Main_OnCommand(40668,0) #delete everything
+ RPR_Main_OnCommand(40296,0) #select all tracks
+ RPR_Main_OnCommand(40005,0) #remove selected tracks from project
+
+def main():
+ #FIXME
+ #ask anton about blocking
+ RPR_Undo_BeginBlock()
+ insertMidiNewTrack()
+ addVstiToTrack()
+ renderAndClear()
+ RPR_Undo_EndBlock("add vsti to midi file",0)
+
+main()
+
+
+
+
+#RPR_SetMediaItemSelected(track,1);
+#RPR_Main_OnCommand(40788,0)
+#console(track);
+#TrackIdx = 0
+#TrackCount = RPR_CountSelectedTracks(0)
+#while TrackIdx < TrackCount:
+# track = RPR_GetSelectedTrack(0, TrackIdx)
+# fxIdx = RPR_TrackFX_GetByName (track, FX, 1)
+# isOpen = RPR_TrackFX_GetOpen(track, fxIdx)
+# if isOpen ==0:
+# isOpen = 1
+# else:
+# isOpen = 0
+# RPR_TrackFX_SetOpen(track, fxIdx, isOpen)
+# TrackIdx +=1
+#def insert_fx():
+# fx = "ReaSynth";
+# i = 0;
+# RPR_Undo_BeginBlock();
+# for i in xrange(0, RPR_CountSelectedTracks(0)):
+# track = RPR_GetSelectedTrack(0, i);
+# fx_idx = RPR_TrackFX_GetByName(track, fx, 1);
+# is_open = RPR_TrackFX_GetOpen(track, fx_idx);
+# console(is_open);
+# RPR_TrackFX_SetOpen(track, fx_idx, is_open);
+## RPR_Undo_EndBlock(strcat(#undo_msg, fx), 0);
+#insert_fx();
+#numTracks = RPR_CountSelectedTracks(0)
+#console(numTracks);
+#for TrIndex in range(0,numTracks-1):
+# tr = RPR_GetSelectedTrack(0,TrIndex)
+# rc=RPR_TrackFX_GetFXName(tr, 0, "", 64)
+# plugname=rc[3]
+# RPR_ShowConsoleMsg(plugname+'\n')
+# if "JS: IX/Mixer_8xM-1xS" in plugname:
+# # set volumes in ix mixer to rising values
+# for x in range(0,8):
+# basevolume=-48+48.0/(numTracks-1)*TrIndex
+# paramval=basevolume+24.0/7*x
+# RPR_TrackFX_SetParam(tr, 0, x, paramval);
+# # set pans to decreasing values
+# for x in range(0,8):
+# panval=1.0-1.0/7*x
+# RPR_TrackFX_SetParam(tr, 0, x+8, panval);
+
+
+#console("track fx FXName: %s" % (TrackFX_GetFXName(1)));
+#console("track fx count: %s" % (TrackFX_GetCount(1)));
+#TrackFX_FormatParamValue
+#TrackFX_GetCount
+#TrackFX_GetFXName
+#TrackFX_GetNumParams
+#TrackFX_GetParam
+#TrackFX_GetParamName
+#TrackFX_SetParam