This opens an XML file in a browser that is not my default browser. In that browser I just get a blank page. When I copy the link and open it in Safari, I get the plain XML data, without line breaks. In the past, this link send me to a HTML page, if I remember correctly.
Weâre using a xml-stylesheet for that (have a look at the xml file content), which many browser seem to block nowadays because itâs a local file reference.
I see. Can you recommend a browser that does show it correctly? Firefox, Chrome and Safari do not.
Microsoft Edge.
See https://stackoverflow.com/questions/3828898/can-chrome-be-made-to-perform-an-xsl-transform-on-a-local-file for the full story.
The only way to avoid this would be generating a html file locally in Renoise, then showing this one in Renoise.
This probably isnât worth the troubles.
For me the XML opens in Internet Explorer 11.
And the result is ok for reading.
My default browser is Firefox and I also have Internet Explorer, Edge and Chrome installed on the same PC.
So I recommand IE to open this XML.
As far as I know, Internet Explorer is not available for any platform other than Windows, though.
I donât know, but there are probably extensions to install in Firefox or Chrome that can open this type of files correctly. XML is a simple text file.
Chrome on W10 opens local XML files just fine for me (formatted and syntax-highlighted).
Apart from that any text editor works since XML is a plain text format.
Yes, but itâs not made for human reading, but for machine reading. Users want to quickly see what the shortcuts are. They are not going to parse an XML file in a text editor
From Chrome on Windows 10 can you see it like this? How have you done to make it look correctly, with formatting and highlighted text?
This screenshot is from Microsoft Edge Windows 10 64bit 1903.
This screenshot is from Firefox Quantum 69.0 (64 bit).
In my Chrome 76.0.3809.132 64 bits, the blank page appears.
Here are the default shortcuts in HTML format.
Of course, if you defined your own shortcuts, they wonât be thereâŚ
I stand corrected. I was talking about opening plain XML files (data, configuration, etc) with Chrome.
However, there is a way to make it work:
Create a shortcut to or simply run Chrome with the following parameters:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files "C:\Users\MY_USERNAME\AppData\Roaming\Renoise\V3.2.0\KeyBindings.xml"
Replace MY_USERNAME with yours and it works. Keep in mind that you have to close other Chrome instances that have been started without the --allow-file-access-from-files
parameter first or itâll open the file in the existing Chrome process.
This is not super convenient but it is definitely possible to display the Renoise shortcuts with Chrome.
Keep in mind that this is a major security risk as it allows any website to access your local files.
Donât browse the web in a Chrome instance started with that parameter!
So what does Microsoft Edge do to be able to display this XML without formatting problems? Does Microsoft Edge skip some security issue?
Canât say for sure but my guess would be that Edge allows access to local files from within files that were already opened from the local filesystem.
All the other major browsers are very strict when it comes to accessing the local filesystem (for good reasons).
Actually, I do have another solution for Chrome!
Get this Chrome Extension: https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb
- Click
Choose Folder
- Select
C:\Users\MY_USERNAME\AppData\Roaming\Renoise\V3.2.0
- Click the switch so it says
Web Server: Started
- Open http://127.0.0.1:8887/KeyBindings.xml
Not sure if I set that port (8887) or if its the default port, if its not the default you might have to adjust the URL in step 4.
This works, because Chrome allows loading resources from URLs, but not from the filesystem (which the flag in my previous post enables).
EDIT: Of course any webserver should work. The Chrome extension is just a remarkably easy way to get a simple local webserver running.
This is a summary of the XML code. This file is always in that direction.
Through a window tool it would be possible to display all those shortcuts with a custom format, also with a vertical slider on the right. It would be enough to âreadâ that data and transform it through LUA with the possible formats of the API6 (now it has âstrongâ for the text source).
The number of possible shortcuts is always the same.
I guess the XML format is used for two reasons:
- Be able to update keyboard shortcuts and show it.
- Being able to print these shortcuts on paper in a pleasant format (from the browser).
âŚ
I donât think it was complicated for Renoise to have her own big window to show all this information. It could even offer the possibility of changing the shortcuts there, and not through a ridiculously small window.
If you press the âPrintâ button, it will open that XML file in the browser.
Keyboard shortcuts are very important in Renoise. The user would feel more comfortable with a larger window.
Perhaps in this way there would be no need to print anything on paper. Maybe a resizable and detachable window would be magnificent.
The same goes for the MIDI Mapping window:
Why are these windows so small ???
@taktik Here is a solution for this problem (read here for reference)
The below combined xml + stylesheet works fine here in Safari and Firefox, locally. Following changes are required:
- The stylesheet moves at the end of the xml, before the last closing root node
- The stylesheet gets an id
- On top of the xml, the stylesheet will be referred / hrefâed using a inner document link like
href=â#my-sheetâ
- The following doctype needs to be added:
<!DOCTYPE KeyboardBindings [ <!ATTLIST xsl:stylesheet id ID #IMPLIED> ]>
Working local xml with stylesheet:
http://tstlab.virtualcreations.de/renoise_forum/KeyBindings.xml
I did. Tricky but doable
KeyBindings (partial result)
Global
Application Preferences... Control + Comma
Application Switch to Other Application Alt + Tab
File New Song Control + N
File New Song (no template) Shift + Control + N
File Open Song... Control + O
File Save Song... Control + S
File Save Song As... Shift + Control + S
Document Undo Control + Z
Document Redo Shift + Control + Z
Clipboard Select Clipboard 1 Alt + 1
Clipboard Select Clipboard 2 Alt + 2
Clipboard Select Clipboard 3 Alt + 3
Clipboard Select Clipboard 4 Alt + 4
View Toggle Fullscreen/Windowed Mode Alt + Return
View Focus Next View Control + Tab
View Focus Previous View Shift + Control + Tab
View Recall View Preset 1 F1
View Recall View Preset 2 F2
View Recall View Preset 3 F3
View Recall View Preset 4 F4
View Recall View Preset 5 F5
View Recall View Preset 6 F6
View Recall View Preset 7 F7
View Recall View Preset 8 F8
View Focus/Show Pattern Editor Shift + Numpad1
View Focus/Show Mixer Shift + Numpad2
View Open MIDI Mapping Dialog... Control + M
View Show Used MIDI Mappings... Shift + Control + M
View Open Render Dialog... Shift + Control + R
View Open Render Plugin To Instrument Dialog... Alt + Control + R
View Open Sample Record Dialog... Shift + Alt + R
Transport Play/Stop/Edit Space
Transport Toggle Loop Pattern Control + Scroll
Transport Play Pattern RAlt
Transport Play Pattern from Current Line Shift + RAlt
Transport Play Song RControl
Transport Play Song from Current Line Shift + RControl
Transport Pause/Continue Apps
Transport Schedule Edited Sequence for Playback Control + Space
Transport Play from Edited Sequence Shift + Control + Space
Transport Record Pattern Shift + RShift
Transport Play from Cursor Shift + Space
Transport Toggle Block Playing NumpadEnter
Transport Select Previous LoopBlock Control + NumpadMinus
Transport Select Next LoopBlock Control + NumpadPlus
Transport Note Off Shift + Capital
Transport Smart Note Off Capital
Transport Note Off Row Shift + Control + Capital
Transport Smart Note Off Row Control + Capital
Song Control Toggle Auto Solo Alt + Backslash
Song Control Toggle Metronome Grave
Song Control Toggle Follow Pattern Scroll
Instruments Select Previous Instrument NumpadMinus
Instruments Select Previous Instrument (2nd) Alt + Up
Instruments Select Next Instrument NumpadPlus
Instruments Select Next Instrument (2nd) Alt + Down
Instruments Select Previous Instrument Page Alt + Left
Instruments Select Next Instrument Page Alt + Right
Instruments Select First Instrument Alt + Home
Instruments Select Last Instrument Alt + End
Instruments Select 1st Instrument Numpad1
Instruments Select 2nd Instrument Numpad2
Instruments Select 3rd Instrument Numpad3
Instruments Select 4th Instrument Numpad4
Instruments Select 5th Instrument Numpad5
Instruments Select 6th Instrument Numpad6
Instruments Select 7th Instrument Numpad7
Instruments Select 8th Instrument Numpad8
Instruments Select 9th Instrument Numpad9
Instruments Open Instrument Editor Numpad0
Instruments Select Previous Sample in Instrument Shift + NumpadMinus
Instruments Select Next Sample in Instrument Shift + NumpadPlus
Octave Increase Octave NumpadMultiply
Octave Decrease Octave NumpadDivide
Octave Increase Octave (2nd) Control + RBracket
Octave Decrease Octave (2nd) Control + LBracket
Track Muting Mute Track Backslash
Track Muting Mute Track Secondary Shift + Backslash
Track Muting Solo Track Control + Backslash
Track Muting Mute Track 1 Control + Numpad1
Track Muting Mute Track 2 Control + Numpad2
Track Muting Mute Track 3 Control + Numpad3
Track Muting Mute Track 4 Control + Numpad4
Track Muting Mute Track 5 Control + Numpad5
Track Muting Mute Track 6 Control + Numpad6
Track Muting Mute Track 7 Control + Numpad7
Track Muting Mute Track 8 Control + Numpad8
Track Muting Mute Track 9 Control + Numpad9
Transport Note Off (2nd) Shift + A
Transport Smart Note Off (2nd) A
View Attach/Detach Instrument Editor Alt + D
View Toggle Track- and Instrument Editors Alt + E
View Show/Focus Instrument Editors Alt + I
View Show/Focus Track Editors Alt + K
View Show/Hide Disk Browser Alt + B
View Show/Hide Instrument Box Alt + N
View Show/Hide Instrument Properties Shift + Alt + N
View Show/Hide Pattern Matrix Alt + M
View Show/Hide Phrase Editor Alt + R
Transport Halve LoopBlock Size Control + NumpadDivide
Transport Double LoopBlock Size Control + NumpadMultiply
View Attach/Detach Mixer View Alt + F
Pattern Editor
Navigation Focus Pattern Matrix Shift + Escape
Navigation Move to Previous Column Left
Navigation Move to Next Column Right
Navigation Move to Previous Row Up
Navigation Move to Next Row Down
Navigation Move to Previous Row with EditStep Shift + Control + Up
Navigation Move to Next Row with EditStep Shift + Control + Down
Navigation Move to Previous Row with Note Shift + Control + Prior
Navigation Move to Next Row with Note Shift + Control + Next
Navigation Toggle Auto Capture Instrument Shift + Alt + Backslash
Navigation Capture Instrument Shift + Control + Return
Navigation Capture Nearest Instrument Shift + Return
Navigation Jump 16 Rows Up Prior
Navigation Jump 16 Rows Down Next
Navigation Jump to First Row Home
Navigation Jump to Last Row End
Navigation Jump to Row 0 F9
Navigation Jump to Row 16 F10
Navigation Jump to Row 32 F11
Navigation Jump to Row 48 F12
Navigation Jump to Previous Track Shift + Tab
Navigation Jump to Next Track Tab
Navigation Jump to Master Track Shift + Control + End
Navigation Jump to First Track Shift + Control + Home
Insert/Delete Insert New Row Insert
Insert/Delete Delete Current Row Back
Insert/Delete Insert New Row in Column Shift + Control + Insert
Insert/Delete Delete Current Row in Column Shift + Control + Delete
Play Play Current Line Return
Edit Step Increase EditStep Control + Equals
Edit Step Decrease EditStep Control + Minus
Edit Step Double EditStep Alt + Equals
Edit Step Halve EditStep Alt + Minus
Edit Step Set EditStep To 0 Control + 0
Edit Step Set EditStep To 1 Control + 1
Edit Step Set EditStep To 2 Control + 2
Edit Step Set EditStep To 3 Control + 3
Edit Step Set EditStep To 4 Control + 4
Edit Step Set EditStep To 5 Control + 5
Edit Step Set EditStep To 6 Control + 6
Edit Step Set EditStep To 7 Control + 7
Edit Step Set EditStep To 8 Control + 8
Edit Step Set EditStep To 9 Control + 9
Record Toggle Record Quantized Shift + Control + Grave
Record Increase Quantization Shift + Control + Equals
Record Decrease Quantization Shift + Control + Minus
Record Set Quantization To 1 Shift + Control + 1
Record Set Quantization To 2 Shift + Control + 2
Record Set Quantization To 3 Shift + Control + 3
Record Set Quantization To 4 Shift + Control + 4
Record Set Quantization To 5 Shift + Control + 5
Record Set Quantization To 6 Shift + Control + 6
Record Set Quantization To 7 Shift + Control + 7
Record Set Quantization To 8 Shift + Control + 8
Record Set Quantization To 9 Shift + Control + 9
KeyBindings.txt (87.3 KB)
To be fair, XML is a plain text based format that was specifically made to be machine AND human readable
Otherwise you could as well store data in a binary format and save a lot of space and parsing.