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) RPR_Main_OnCommand(41749,0) #close FX dialog on track 1 def renderAndClear(track_name=DEFAULT_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