1#!/usr/bin/env python3 2 3#spencer jackson 4# this generates a template for a function that will map the rkr bank data to carla preset data 5 6import os 7 8print("#!/usr/bin/env python3") 9print() 10print("def remap(efxindex, paramindex):") 11print(" return{") 12 13#get ttl files (excluding presets) 14files = [f for f in os.listdir('../lv2/ttl/') if ( f.find("presets")==-1 and f.find("swp")==-1 \ 15 and f.find("manifest")==-1 )] 16 17fxindex = -1 18#open file 19for fn in files: 20 21 f = open("../lv2/ttl/"+fn,"r") 22 pindex = 0 23 fxindex += 1 24 25 #plugin header data 26 data = f.read() 27 #uri 28 p = data.find("<http://rakarrack") # first one is GUI 29 p = data.find("<http://rakarrack",p) 30 n = data.find("\n",p); 31 uri = data[p+1:n-1]# disclude <> 32 #name 33 p = data.find("doap:name ",p) 34 p = data.find("\"",p) 35 p += 1 36 n = data.find("\"",p) 37 name = data[p:n] 38 print(" ",(fxindex,-1),":",(name, uri),",") 39 40 #parameters 41 p = data.find("Bypass",p) #skip bypass 42 p = data.find("lv2:symbol ",p) 43 while p > 0: 44 p = data.find("\"",p) #skip ws 45 p += 1; 46 n = data.find("\"",p) #find end 47 psymbol = data[p:n] 48 p = data.find("lv2:name ",p) 49 p = data.find("\"",p) #skip ws 50 p += 1; 51 n = data.find("\"",p) #find end 52 pname = data[p:n] 53 pindex += 1 54 p = data.find("lv2:symbol ",p) 55 #prints as (carla index, parameter name, parameter URI, offset) 56 print(" ", (fxindex,pindex-1),":",(pindex, pname, psymbol, 0),",") 57 print(" ", (fxindex,pindex),":",(-1, ),",") # mark end of effect 58print(" }[(efxindex,paramindex)]") 59