first off: thanks for OctoPrint - it's pretty awesome. I'm running it off an Raspberry Pi 1B, and I'm amazed that this ancient piece of hardware is still able to do something useful.
However, some of my prints are very slow when I print them via OctoPrint, I assume because the Pi (and the serial connection) is not fast enough to supply the GCode, especially on round segments. It's a lot faster when I print from SD card. However, I love the GCode viewer in OctoPrint, which is not available when printing from SD card.
I understand that when OctoPrint does not control the executed GCode, it doesn't know "by default" what GCode is currently executed, and how the whole file looks like. However - wouldn't it be great if I were able to upload the file that's currently printing to OctoPrint, and tell it "that's the file that's currently printing". In the terminal I see that the Marlin firmware periodically reports what the current position in the GCode file is (as a response to an M27 command).
Thus, what I would love to see is something along the lines of:
1.) A button in the file browser with which you can tell OctoPrint "this is the file that's currently printing"
2.) When this button is pressed, OctoPrint pretends (to the GCode viewer, the time-estimation-logic, potential plugins, …) to be sending GCode to the printer. Whenever a status response (M27) arrives, it seeks in the file to the position that is reported and updates the "currently printing GCode".
Would something like that be thinkable? Looking forward to your feedback!