AW: TMIDIPlayer2
Wenn es nur rein um den Text geht ist das mit einer Zeile erledigt. Oder? ;)
Addiere ne RichEdit auf dein Formular deaktiviere "HIDESCROLLBAR" und aktiviere Scrollbars [ssBoth] RichEdit deshalb weil sie TStrings enthält und der Text auf grund dessen nicht extra formatiert werden muss. In der procedure
Delphi-Quellcode:
procedure TForm1.btnOpenClick(Sender: TObject);
addierst du diese Zeile zu dem projekt vor ..
Delphi-Quellcode:
.......
// PositionBar.Max := MidiFile.PlayTicks;
PositionBar.Max := round(MidiFile.Duration / 100.0);
Delphi-Quellcode:
sieht dann so aus !!
// Get Lyrics
RichEdit1.Text := MidiFile.Lyrics;
Delphi-Quellcode:
das ergebnis siehe Pic..
// Get Lyrics
RichEdit1.Text := MidiFile.Lyrics; // PositionBar.Max := MidiFile.PlayTicks; PositionBar.Max := round(MidiFile.Duration / 100.0); PS: Hab noch ein kleines problem gefunden.. In der Unit MidiFile2
Delphi-Quellcode:
gruss
function TMidiFile2.ReadFromFile(const FileName: WideString): Boolean;
var FileInfo: TMidiFileInfo; I, N: integer; LyricsTrack: Integer; begin try FileInfo.TrackList := nil; FileInfo.TempoList := nil; FLyrics := ''; // Diese Zeile addieren um den zuvor geladenen Lyric string zu löschen. FIsValid := GetInfo(FileName, FileInfo); except |
AW: TMIDIPlayer2
Neue Version oben..
Added "Sync Lyics" & "Plain Lyrics" Display. gruss |
AW: TMIDIPlayer2
Hallo Emil,
nun weis ich nicht... die Zip oben, mit den Kompos gehen die auch für D5 oder nur für D7?? Kann es sein, dass ich nun wieder diese TNT-Kompos brauche??? Krieg sowohl bei D5 als auch bei D7 beim Installieren der dpk Fehlermeldungen... Äh... das Bild oben zeigt die Lyrics mit Zeilenumbruch, in der Zip weiter oben geht das nicht... Gibts da irgendwie nen Trick? Wie gesagt, wenn ich das Projekt hinkrieg will ich mich wirklich erkenntlich zeigen... Ich hoffe Ihr habt genug geduld mit mir... Gruß Reiner |
AW: TMIDIPlayer2
Zitat:
Warum willst du die Version mit den Componenten verwenden? Hab doch extra für dich eine ohne erstellt. Ob das mit D5 geht kann ich nicht sagen hab kein Delphi unter D7 Denke bei dem Zeilenumbruch verwechselst du die beiden Archive. Exe im Zip-Archiv sollte mit Umbruch gehen. Exe im Rar-Archiv geht der Umbruch nicht weil hier die Srollbars ssBoth aktiviert wurden. gruss |
AW: TMIDIPlayer2
Hallo Emil,
nun hab ich ne RichEdit auf die Form gelegt, da krieg ich die Zeilenumbrüche :lol: und das mit den TNT bzw. ohne TNT geht nun auch.. Könnte man die beiden Fenster (SyncLyrics) mit dem Rich noch so verbinden, dass im Rich der Text dann rot wird zu gegebener Zeit? (So wie Karaoke?) Dann wär das oooptimal und perfekt :) Weist, ich bräuchte sowas unbedingt für unsere kleine Musikgruppe... Wär sooo Klasse... Gruß und vielen vielen Dank für Deine bisherige Hilfe!!! Reiner |
AW: TMIDIPlayer2
Zitat:
Da fehlt dann die Mute Checkbox. Zudem ist die EXE im Rar-Archiv nicht Unicode fähig da TNT- Componente http://www.delphipraxis.net/1139108-post23.html nicht verwendet werden. Der Zeilenumbruch hingegen ist so in Ordnung. gruss |
AW: TMIDIPlayer2
Hi Emil,
jetzt glaub ich haben sich die Posts überschnitten... Hab mein Posting vorhin nochmal geändert -siehe oben. Vielleicht kann man das mit der roten Farbe noch irgendwie integrieren... (Und dann möchte ich mich wirklich bissl erkenntlich zeigen!!) Gruß und Danke für die klasse Hilfe!!! Gruß Reiner |
AW: TMIDIPlayer2
Zitat:
Es wird bei Plain Lyrics der gesamte Text angezeigt und bei Sync Lyics der welcher gerade gesungen/aktiv ist. Warum das ganze jetzt noch Rot? gruss |
AW: TMIDIPlayer2
@Emil
vermutlich möchte er den Text so darstellen, wie es beim Miditemp, in Arranger-Keyboards usw. üblich ist. Es reicht in der Praxis nicht aus, dass man den "aktuellen" Text sieht, man muss immer etwas "voraus" sehen können. Dazu wird normalerweise der gesamte Text - wichtig: mit Zeilenumbrüchen - angezeigt, und der aktuell gesungene Bereich markiert. Mit den "Sel.."-Funktionen der Memo's geht das ziemlich einfach. Nachtrag: Ich bin Musiker und überzeugt, dass die Selektion ein zwingend erforderliches Feature für den Live-Einsatz ist. Mit musikalischem Gruss musicman56 |
AW: TMIDIPlayer2
Zitat:
Mit dem Memo habe ich selbst noch nicht so viel gemacht das ich das so einfach wie du sagst umsetzen kann ohne mich jetzt wieder ein paar Stunden damit zu beschäftigen. Hast vielleicht ein Beispiel ? Dann bau ich es noch ein. PS: Mit Sel.. alleine ist das nicht getan da der String ja doppelt vorkommen kann "dance" als Beispiel Es muss also der gesamte Text zeile für zeile geparst werden und dann mit der übergebenen Event^.Msg verglichen werden. Bzw.. Nur die Aktuelle Zeile. Aber wie gesagt das ist nicht mal gerade in 5 min gemacht. ;) gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz