id summary reporter owner description type status priority milestone component severity resolution keywords cc 45 PaperTape-VIewer 2013 sven sven "Dieses Ticket soll den Versuch beschreiben, die alte ''PaperTapeSuite'' zu einem gesunden Schluss zu bringen. Das heißt: Nach den vielen Codeumwälzungen, die vor fünf Jahren stattgefunden haben, sollen die 6000 Zeilen C++-Code, die entstanden sind, funktionsfähig gemacht werden. In Ticket #44 sind die SVN-Revisionen etwas untersucht worden. Die [[https://labs.technikum29.de/browser/projects/TODO.txt?rev=21|TODO.txt]] von September 2008 beschreibt, wo das ganze stehen geblieben ist. Dann gab es mal eine [[https://labs.technikum29.de/export/75/projects/paper-tape-project/trunk/TODO.htm|TODO.htm]], die 2009 ein Jahr später beschrieb, dass das ganze in einer Sackgasse endete. == Neue Features == Nach Sichtung der Features wäre folgender Projektabschluss in mehr oder minder günstiger Zeit möglich: * Features, die aufgegeben werden: * Kein eingebauter Binär**editor** mehr. Das ganze darf nur Read-Only funktionieren. * Keine eingebaute Hardware-Interaktion (**kein Stanzen/Lesen**) mehr mit grafischer Benutzeroberfläche. * Es fliegen raus: Drag & Drop, Copy & Paste * Features, die repariert oder aufgegeben werden müssen: * Zoom/Rotations-Wahnsinn * Repainting klappt nicht richtig (Bei Fixing sollte Performance nicht an erster Stelle stehen) * Was bleibt: * Ein **PaperTape-Viewer**, der Dateien als Lochstreifen darstellen kann. * Export von Lochstreifen als PNG oder SVG * Zoom-Funktionen, frei einstellbare Farben, mehrere Fenster, Nullbytes * Vielleicht, wenn leicht handlebar, Maushovering mit Darstellung (nicht Manipulation!) des aktuellen Bytes, ggf. Bits. * Leichte Anpassbarkeit möglich für: * um (extern generierte standalone-) Beschriftungen anzuzeigen * als Visualisierung ""gerade gestanzter Dateien"" (à la `cat datei | puncher | gtk-viewer --life`) * Intelligente Fensterpositionierung und -dimensionierung. Praxisnahere Voreinstellungen (bei Farben und Zoom) * Möglichst 1:1-Darstellung eines Streifens auf Bildschirm zwecks Vergleich == Neue Libraries == Außerdem sollte der Code (mit hoffentlich wenig Anpassungen) auf **Gtk3** portiert werden. Nativere Cairo-Benutzung und damit vielleicht ein Wegfallen einiger Repainting-Bugs könnten die Folge sein. == Neue Richtung == Das Programm geht damit mehr in Richtung ''Matlab'' oder ''gnuplot'', wo eine enge Verzahnung mit dem Terminal stattfindet. Es wird stark entschlackt zugunsten eines kleinen Tools. Die Kommandozeilenverwendung sollte sich am `cli`-Programm orientieren. Insgesamt ließe sich damit leicht der Weg ebnen für eine Kommandozeilen-Tool-Sammlung, die unter `$HOME/bin` installiert wird. Diese kann dann von einer guten Dokumentation begleitet werden. Randbemerkung: Dieses Ziel ist mit der Plattformunabhängigkeit/RS232 wenig vereinbar, ggf. kann man aber Perl auch unter Windows verpflichtend machen und es dann dort ähnlich verwenden. Alternative `reader`-Programme, die aus RS232 lesen statt vom Parallelport, passen sich dort in das Piping ein." Aufgabe accepted major Next Generation-Entwicklungsprojekte Entwicklungsprojekt unbekannt