Page archived courtesy of the Geocities Archive Project https://www.geocitiesarchive.org
Please help us spread the word by liking or sharing the Facebook link below :-)


Die neue Homepage!
Projekte
Model One
goes Europe
230V-Umbau
Lampenprojekt
Lampe
LED-Lichtobjekt
Lichtobjekte
Vectra C
Abblendspiegel
Audio-Mischpult
Battlemixer #1
C64DTV
Der C64 ist wieder da!
PICSEL
Elektronischer
Quellenumschalter
Kenwood KA-990V
High End Upgrade
Autogas/LPG
Umbaubericht Vectra C
Autogas/LPG
Umschalter-Selbstbau
Autogas/LPG
GAKI-Projekt
Fahrradlicht
Spannungsbegrenzer
Projekt von 1994:
Selbstbauplotter
Sonstiges
Feierabendprojekte
Bilder
Industriekultur
Bochum
Volleyball
Mac Volley Warriors
...
Home
Startseite
Projekte


Software mit Quellen zum LED-Projekt#3 "Movie Matrix"...
Genau genommen handelt es sich um einen flexiblen Bitmuster-Editor, mit dem man auch Zeichensätze für LCDs usw. entwicklen kann.

Zurück zu LED-Projekten


MovieMat



Screenshot MOVIEMAT.EXE


Als Programmierumgebung habe ich das C++ Visual Studio 6.0 benutzt.

Visual C-Projekt / Sourcen als ZIP
EXE-File als ZIP

Klassen
CMemDC           Klasse für flickerfree drawing von Keith Rule, siehe codeproject
CMatrixEdit      Die Pixeleditor-Fläche
CHexFormats      Schreiben von Intel-Hex-Dateien
CMMFormat        Lesen/Schreiben von Moviematrix-Dateien (mit X- und Y-Grössenangabe, Framezahl etc.)
CMovieMatDlg     Die Dialog-Oberfläche... und damit die Funktionalität
CMoviematApp     Die Basis der MFC-Dialog-Applikation
CEinstellungen   Der Einstellungen-Dialog (Höhe, Breite, etc.)
Limits
  • 1024 Frames maximal per define
Todo bzw. Bugs
  • Die gröbsten Fehler werden schon abgefangen, aber da ist sicher noch mehr möglich, insbesondere beim Datei Laden/Speichern
  • Ein Resize der MatrixEdit-Fläche wäre toll, so daß das Seitenverhältnis der Pixel immer gleich bleibt, wenn man die Seitenlängen ändert.
  • ...
Edit-Kontrolle
Edit-Fläche        Linke Maustatste Bit setzen/LED an bzw. Helligkeit toggeln, rechte Maustaste Bit zurücksetzen / LED aus
U, D, <, >         Shiften des Bitmusters up, down, links, rechts
COPY               Kopiert den Inhalt des aktuellen Frames in einen Puffer
PASTE              Fügt den Inhalt des Puffers in den aktuellen Frame ein
Frame-Kontrolle
|<- und ->|        Sprung zum ersten / letzen Frame
< und >            Einen Frame vor/zurück
New                Fügt einen leeren Frame hinter dem aktuellen Frame ein
Del                Löscht den aktuellen Frame
Play               Startet die Wiedergabe der aktuellen Frame-Liste
Stop               Stoppt die Wiedergabe
Buttons
Laden              Laden von MMF-Dateien
Speichern          Speichern aller Frames und der Einstellungen in einer MMF-Datei
Einstellungen      Einstellen von Höhe, Breite, Bits/Pixel, etc
Export             Export aller Frames als INTEL-HEX-Datei, 8 Byte pro Zeile
Beenden            Moviemat beenden
Interna

Die Frame-Inhalte werden in dynamisch allokierten Speicherblöcken abgelegt. Die Pointer auf diese Speicherblöcke werden in der Liste m_aFrameList verwaltet. m_LastEntry enthält den Index des letzten Frames, m_ActFrame den Index des aktuell angezeigten. Die Struktu m_stInfo enthaelt alle Daten, die mit dem Film gespeichert werden.
Die Methoden der Klassen sind eigentlich selbsterklärend, nur das Speicher-Layout der CMatrixedit-Klasse ist erklärungsbedürftig:



Versionsliste:
  • Version 1.0
    Erstausgabe
  • Version 1.01
    -Framekontroll-Buttons de/aktivieren je nach Frameposition
    -Dateinamen in Fenstertitel zeigen
    -Mehr Kontrollen beim Dateilesen

Copyright © 2006 Christian

1