Microtonal

Is it possible:
I would like to allow the user to enter notes in ratios instead of lettered notes. this would enable an infinitely complex microtonal system. the user would define a root frequency above the keyboard octave. now, whenever the user enters 1----01 renoise plays the root freq of instrument 01. the user can also enter 3/2—01 (a perfect fifth above), 1/2—01 (an octave below), 3/2,3/2-01 (a perfect fifth above a perfect fifth). the number of multipliers in each track can also be altered, allowing one to change keys without having to translate all ratios into the old key.

I realise that I will probably have to completely redo the entire pattern editor and the instrument editor as renoise will not let me alter any pre-existing code (which makes perfect sense, tools should not change the default behaviour of the program). Is there a way for me to get the code to these two frames so that I can make duplicates of them and start from there? ideally they would show up when the user selects the tool, opening a new song (as these two systems are incompatible). this new song would contain the default preference to use this tool. also, where can I find the documentation for underlying note system of renoise?

If you only plan to play instruments monophonically (for polyphonic the below hassle is a waste of time):
For internal samples, you can adjust the finetuning value per sample within the scripting environment, but that would be a static change.
If you want a dynamic change right now, you would need to set up a table of different finetuning values for each sample and create your own player using OSC.
That is currently possible and for sample based instruments this also is fine (No need to mangle too much with MIDI messages etc.).

This is the schedule:
Midi instrument -> Renoise MIDI LUA API -> Read note -> Figure out which sample is assigned to the note (Song API) -> Process microtonal table (Your routine) -> Adjust sample finetuning (Song API) -> Send note back to Renoise using an OSC message (OSC API)

For the internal keyboard:
Renoise LUA Keyboard API (Notevalue) -> Read note -> Figure out which sample is assigned to the note (Song API) -> Process microtonal table (Your routine) -> Adjust sample finetuning (Song API) -> Send note back to Renoise using an OSC message (OSC API)

For plugins this won’t be applicable as plugins only expect to receive pure note-values.
Well, not entirely impossible, but this would involve prerequiring setting up the MidiControl device or Automation Device and then the plugin has to support a parameter that allows you to finetune the current note.

If you want to support this polyphonically, you need to use several copies of the same instrument in the same track / pattern simultaneously in a monophonic manner like you have to use multiple instances of a monophonic plugin.