Newb Question, scripting midi mapping Disk Browser?

Okay, so i’ve been reading through the documentation and trying to wrap my head around all this scripting business. It’s crazy how powerful all of this. I’ve been going through the docs, and I’ve been looking over some of Tools I have installed so I can get an idea of how these things are written, like Duplex and there’s an old MPC emulation thingy that hasn’t been updated for 3.0. It didn’t install but I was still able to look over the files and get some ideas.

Anyways, basically i’m trying to map is much as I can to my Maschine controller. One thing I want to do is be able to browse from my sample library using the encoder till I find the sample I want, then press down on it and have it appear in the instrument browser. I feel like this should be possible? I’m fairly certain it should be since “Disk Browser Directories” and “Disk Browser Files” are both listed in the ScriptingToolAPI in the documentation.

I’m not sure what to do exactly. I’m starting to be able to notice a lot of the similarities in the codes in the midi map stuff so I can kind of get an idea, but there’s certain things that I just don’t get in terms of the order of operations. Any help is appreciated!!

I also in the future want to be able to map the sample editor.

There’s still some stuff I’m really confused on. One thing I’m really confused on with the midi messages, is how do you tell Renoise where to input your function? What I mean is this: I’m trying to make the disk browser searchable with my Maschine controller. Basically what I want to do is, make it so that I can use it’s encoder to browse my sample library, and then when I press down on it, it will select it. I was going to just copy the code from “Navigation:Instruments,” but then I stopped, how the hell do I tell it to look in the disk browser? I figure that I should just replace the word “Navigation:Instruments:Current Instrument [Set]” to “Navigation:Disk Browser: Current Instrument [Set]” or something a long those lines, but there’s no indication of how to tell exactly what I’m supposed to label these things. And then after that, how do I tell it to “trigger” instrument? Would something like this work?

Really I just copied and pasted that from the scripting terminal. Anyways, any help would be appreciated!

Okay I tried that, and it didn’t work. I was thinking that add_action was told it to search, but it seems like that’s what tells it to make a menu entry? So it’s something in the rest of it that I have to change.

So I looked through the Renoise.Song.API in the documents, and it seems that Disk Browser isn’t an option in there. Does this mean that it isn’t possible to browse the your files from midi?

There are a few options in the Renoise.app tree, but do note that these are very simple system dialogs where you cannot memorize or dictate a start path.
If you want more options for controlling the file or disc dialog, you would need to create your own file dialog.

– Opens a modal dialog to query an existing directory from the user.
renoise.app():prompt_for_path(dialog_title)
→ [valid path or empty string]

– Opens a modal dialog to query a filename and path to read from a file.
– The given extension(s) should be something like {“wav”, “aiff”
– or “*” (any file) }
renoise.app():prompt_for_filename_to_read({file_extensions}, dialog_title)
→ [filename or empty string]

– Same as ‘prompt_for_filename_to_read’ but allows the user to select
– more than one file.
renoise.app():prompt_for_multiple_filenames_to_read({file_extensions}, dialog_title)
→ [list of filenames or empty list]

– Open a modal dialog to get a filename and path for writing.
– When an existing file is selected, the dialog will ask whether or not to
– overwrite it, so you don’t have to take care of this on your own.
renoise.app():prompt_for_filename_to_write(file_extension, dialog_title)
→ [filename or empty string]

Hey VV! Thanks for the response! I definitely need more study. The difficult thing is learning what all these terms mean. I’ve got Maschine controlling a good portion of Renoise. It was a lot of fun setting it up and took me a damn long time, but it’s pretty interesting to have so much hands on control over Renoise. I’ve been wanting to learn more about coding for a long time, so this gives me some focus. I have an idea of what I want to achieve, as opposed to just get software to say “Hello world,” so I’m more motivated to learn it. Hopefully I’ll get a good idea of how to do this from this project, and once I do start attempting some bigger projects.