TimeLine wie zB. in Steinberg's Cubase, Prop. Reason oder Adobe Premiere



  • Hi,

    wer von euch kennt die Dinger denn nicht aus Musik oder Videoschnitttools:
    Zeitleisten. Man setzt Content an eine bestimmte Stelle der Zeitleiste und kann das Fenster dann noch hin und her schieben und skalieren...

    Kann einer von euch ansatzweise erklären (Stichworte wären auch schon nett) wie man sowas auf die Beine stellt? Brauche keine komplette Anleitung (da wühl ich mich schon alleine durch). Viel mehr gehts um Denkansätze und Schlagworte.
    (Wenn mir einer natürlich Prügel androht falls ich ein Tut ausschlage würde ich's natürlich annehmen... 😃

    Danke an Euch im Voraus
    Paddy



  • Was ist jetzt genau das Problem? Fenster mit selber gezeichnetem Inhalt? Platzieren skalieren?...



  • Die Timeline ansich...also Zeitleiste, Pattern per DragDrop darin verschieben etc...N paar Schlagworte wären da zum Googlen schon man n Anfang.

    Klar, kann man z.B. mit DX und als RHW Koordinaten als 2D Sache in einen Buffer kopieren. Mich interessiert, ob man die Sache auch unter WIN32 lösen kann (und wie).



  • du kannst doch in WM_PAINT alles mögliche zeichnen, ohne DX.



  • TsPaddy schrieb:

    Mich interessiert, ob man die Sache auch unter WIN32 lösen kann.

    ??? Ich dachte die von Dir genannten Programme sind Win32 Programme!? Oder täusche ich mich da?

    Und das WIE: Du musst es entweder selber machen (zeichnen) oder Du kaufst Dir es von irgendjemand ein, der sowas schon gemacht hat (oder suchst auf Codeproject, ob Du dort was passendes findest)...



  • Hm, ich würd es glaubich Schritt für Schritt machen. Also erstmal die Zeitleiste erstellen, in nem vorgegebenen Fenster bei einem festen Pixelwert die Zeiten eintragen und halt ein paar Striche alle paar Millimeter.
    Als nächsten Schritt könntest du einen "Zoom" einbauen, der dir das Ganze auf die doppelte Größe macht. Dann ein "Raus-Zoom", der dir das auf die halbe Größe macht.
    Dann solltest du dir schon aus deinem Code einen Algorithmus entwickeln können, der die Striche und Zeiten anhand einer variablen Größe zeichnet. Ab da solltest du dann (relativ) stufenlos zoomen können.
    Dann brauchst du halt noch die Werte, von wo bis wo dein aktuell sichtbares Zeitfenster reicht.
    Jetzt müssen nur noch die Objekte eingetragen werden, die wahrscheinlich auch Zeit-Infos haben.
    hf 🙂



  • Erst mal danke "na"...hab ich jetzt gar nicht dran gedacht...obwohl sind die Sachen dann nicht evtl mit Flackern/zeilenvorschubproblem wenn ich schnell update?

    @Jochen: Das ist die klassische Windows API um unter Windows Programme zu schreiben...lol

    @Badestrand: Das weiß ich auch...es geht um das Zeichnen der Objekte...intern bekomm ich die locker verwaltet.



  • TsPaddy schrieb:

    @Jochen: Das ist die klassische Windows API um unter Windows Programme zu schreiben...lol

    War das jetzt eine Frage oder Feststellung!?
    Flackern verhindert man durch Double-Buffering und unterdrücken von WM_ERASEBKGND



  • TsPaddy schrieb:

    Zeitleisten. Man setzt Content an eine bestimmte Stelle der Zeitleiste und kann das Fenster dann noch hin und her schieben und skalieren...

    Kann einer von euch ansatzweise erklären (Stichworte wären auch schon nett) wie man sowas auf die Beine stellt?

    TsPaddy schrieb:

    Die Timeline ansich...also Zeitleiste, Pattern per DragDrop darin verschieben etc...

    TsPaddy schrieb:

    @Badestrand: Das weiß ich auch...es geht um das Zeichnen der Objekte... intern bekomm ich die locker verwaltet.

    Aha, hätt ich mir wohl denken können^^

    War dein Problem jetzt, dass du nicht dran gedacht hast, dass man in WM_PAINT zeichnen kann oder wie?



  • Wegen Double-Buffering würde ich noch WS_CLIPCHILDREN erwähnen, das ist gerade beim 'resizen' wichtig.


Anmelden zum Antworten