def main(): """Initialize Backend and start Preset Manager application.""" #configure base file logger logging.basicConfig(filename='preset_manager.log', level=logging.DEBUG, format='%(asctime)s %(message)s') # create console handler and set level to info handler = logging.StreamHandler() handler.setLevel(logging.DEBUG) formatter = logging.Formatter("%(asctime)s | %(levelname)s - %(message)s") handler.setFormatter(formatter) logging.getLogger().addHandler(handler) #start application logging.debug('Starting Preset manager main, V0.5.1, 11.06.2020') #set application folder glob.init(os.path.dirname(os.path.realpath(__file__))) logging.debug('Setting Application Path: %s', glob.application_folder) #read tags from file logging.debug('Loading tag file: %s', tags.tag_file()) tags.load() logging.debug('Saving tag file: %s', tags.tag_file()) tags.save() #Create command queue command_queue = queue.Queue() #start server server.start(command_queue) #start UI ui.start_main(command_queue)
def edit_preset(evt): """Edit Preset Edits the currently selected preset by calling the editor Arguments: evt {event} -- Event Reference needed from TKInter but not used in code """ #check if a preset is selected selected_preset = glob.main_window._selected_item if selected_preset != None: #call dialog to edit preset if ui.edit_preset_dialog(selected_preset): logging.debug('Editing Preset: ' + selected_preset.preset_name) item_list.update(selected_preset) #check if tags are already in list tags.update(selected_preset.tags) tags.save() #update user interface update_ui() else: logging.debug('Cancel Editing Preset: ' + selected_preset.preset_name) else: logging.debug('No Preset selected') simpledialog.messagebox.showinfo("Warning", "Please select Preset")
def import_presets(): """Import presets from Folder Currently experimental function for loading NKSF files directly into the preset manager """ #ask user to select folder for presets folder = filedialog.askdirectory(title="Select Directory") if os.path.exists(folder): logging.debug('Starting import: %s', folder) #loop over files, not yet recursively for filename in os.listdir(folder): #if it is an nksf file, add it to list and update presets if filename.endswith(".nksf"): logging.debug('Import: %s', filename) preset_to_add = items.nksfpreset(os.path.join( folder, filename)) #check for preview preview_file = folder + "\\.previews\\" + filename + ".ogg" if os.path.exists(preview_file): preset_to_add.preview_path = preview_file item_list.add(preset_to_add) tags.update(preset_to_add.tags) tags.save() update_ui() elif folder == "": #user cancelled dialog logging.debug('Import cancelled')
def import_presets(): """Import presets from Folder Currently experimental function for loading NKSF files directly into the preset manager """ #ask user to select folder for presets folder = filedialog.askdirectory(title="Select Directory") if os.path.exists(folder): logging.debug('Starting import: %s', folder) inksf.import_folder(folder) tags.save() update_ui() elif folder == "": #user cancelled dialog logging.debug('Import cancelled')
def save_preset(): """Save preset. Saves the preset from the selected Reaper Track and updates UI. If no track is selected, the user is warned. """ preset_available = rp.available() if preset_available: new_preset, init_name = rp.save() new_item = items.list_item(init_name, new_preset) if ui.edit_preset_dialog(new_item): logging.debug('Saving Preset: ' + new_item.preset_name) item_list.add(new_item) tags.update(new_item.tags) tags.save() update_ui() else: logging.debug('No Preset available') simpledialog.messagebox.showinfo("Warning", "Please select appropriate Track")