summaryrefslogtreecommitdiff
path: root/add_vsti_to_midi_file.py
blob: d028d52c80c9bcf35f76543e2a03707fd7362e99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from subprocess import call
WORKING_DIR = '/Users/pepper/Desktop/REAPER_SCRIPTS/'
DEFAULT_MIDI_TRACK = WORKING_DIR + 'example.mid'
DEFAULT_VSTI = 'Omnisphere';
DEFAULT_TRACK_NAME = 'last'
DEFAULT_PRESET_NAME = 'newtest'

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 insertVstPreset(preset=DEFAULT_PRESET_NAME):
    track = RPR_GetTrack(0,0);
    fxIdx = RPR_TrackFX_GetByName (track, DEFAULT_VSTI, 1)
    return RPR_TrackFX_SetPreset(track, fxIdx, preset)

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():
    insertMidiNewTrack()
    addVstiToTrack()
    insertVstPreset()
    renderAndClear()

main()