TMIDIPlayerComp
Projekt entfernt..
|
AW: MIDIReader (MIDIFile2)
Es wäre schön wenn das kleine progie mal jemand testen könnte.
Ob die Midi Dateien bei euch korrekt abgespielt werden. gruss und Danke! |
AW: MIDIReader (MIDIFile2)
Hallo
. . . läuft einwandfrei :thumb: (Win 7 Pro - 64-bit) . . . hab' einige Test-Midi's durchlaufen lassen : Dateien öffen, abspielen, Tracks separieren : alles o.k. kleiner Nachtrag : auch in der VM (XP-SP2) keine Probleme |
AW: MIDIReader (MIDIFile2)
Zitat:
Soll die Basis für mein VPiano sein um die MidiDateien korrekt einzulesen und abzuspielen. 5 mal geladen eine Antwort? Schade! gruss |
AW: MIDIReader (MIDIFile2)
Ich habe es gerade auch getestet, kommt soweit ohne Probleme mit komplexen MIDIs aus MI2 zurecht, die u.a. auch Instrumentenwechesel über einen Track beinhalten.
|
AW: TMIDIPlayer2
Neue Version hochgeladen.
gruss |
AW: TMIDIPlayer2
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ein paar (so um die 10) Midi's getestet und bei einem gibt's Stress. |
AW: TMIDIPlayer2
Läuft wunderbar!
Vielen Dank ! :thumb: |
AW: TMIDIPlayer2
Zitat:
gruss |
AW: TMIDIPlayer2
Ich würde gern diesen Player in unserer Musikschule vorstellen. Viele üben E-Gitarre (gern auch andere Instrumente) per Computer. Sprich als Musiklehrer verteilen wir MIDI-Files mit Drumpattern, Songloops, Blues-Schemata etc.. Die Schüler üben dann am bzw. mit dem Computer. Was ich nun toll finde, ist die extrem einfache Oberfläche. Es ist ganz einfach Spuren zu deaktivieren (z.B. die Bass-Spur, damit der Schüler die Bassline selbst üben kann oder auch andersrum). Was als letztes fehlt, ist ein besseres Speed-Control. Die Schüler orientieren sich immer an der BPM-Anzahl. Sie fangen meist mit 30 Schlägen an und steigern sich dann mit 15 weiteren Schlägen. Hier wäre also eine bessere Darstellung die Vollendung des Players. :-D
Viele Grüße |
AW: TMIDIPlayer2
Zitat:
Solange der Author im Quelltext nicht entfernt wird.. gruss |
AW: TMIDIPlayer2
Zitat:
Danke. gruss |
AW: TMIDIPlayer2
Zitat:
Und deine angehängte Datei funktioniert nun auch. gruss |
AW: TMIDIPlayer2
Hallo Emil,
jetzt sieht es gut aus! ich bin Hobbymusiker und wollte mal alle meine ca. 400 Midifiles testen. Damit es schneller geht, wollte ich das Demo-Programm modifizieren: Ein komplettes Verzeichnis einlesen, und automatisch jeden Titel ca. 10 Sekunden anspielen. Andernfalls klick ich mir ja die Finger wund :roll: Das wäre für den Autor sicherlich auch ein guter Ansatzpunkt, inwieweit der Player mit den unterschiedlichsten Files funktioniert. Und, wenn alles funktioniert, würde ich den Player auch für mich einsetzen. Natürlich auch dafür bezahlen. Aber, ich kann das Demo-Programm mit Delphi 2007 nicht compilieren. Die Unit "TntClasses" fehlt. Hast du einen Tipp, woher ich die bekommen könnte? Oder, was evtl. sonst noch alles fehlen könnte? |
AW: TMIDIPlayer2
Zitat:
Ansonsten würde es ja auch keinen Sinn machen es in verschiedene Sprachen übersetzen zu wollen;) Siehe dazu gnugettext.pas http://www.axolot.com/TNT/ Das sollten die sein! PS: Na ja kannst ja deine eigene Package erstellen. Zitat:
gruss |
AW: TMIDIPlayer2
Zitat:
aber, wenn der Player funktioniert, bin ich gern bereit eine "Spende" zu entrichten. Da freut sich doch jeder Autor darüber 8-) Jetzt muss ich aber erst mal alles mit D7 zum Laufen bekommen. Momentan bekomm ich noch einen Fehler beim Programmstart: "Es ist kein Treiber auf ihrem System installiert", was aber definitiv nicht der Fall ist. Mal schau'n, vielleicht hat's was mit Win7-64 zu tun :wink: |
AW: TMIDIPlayer2
Hallo zusammen,
kann mir bitte jemand einen Tip geben?? Ich brauch ne Möglichkeit, aus dem Midifile den Text zu extrahieren und anzuzeigen. Kennt jemand eine Lösung??? Vielen Dank gleich mal für Eure Mühe. Gruß beanbear6 |
AW: TMIDIPlayer2
Scan mal nach FRawLyrics
sollte wohl passend sein. (MidiFile2)
Delphi-Quellcode:
procedure TForm1.MidiPlayerMidiEvent(Track: integer; Event: PMidiEvent);
if (Event^.Event = $FF) then begin case Event^.Data1 of $5: begin // ** N := High(FRawLyrics) + 1; // N : the number of recored lyrics SetLength(FRawLyrics, N + 1); FRawLyrics[N].Position := Event^.Positon; FRawLyrics[N].Lyric := Event^.Msg; end; Könnte ein Ansatz sein! gruss |
AW: TMIDIPlayer2
Hi Emil,
hm... diese ^ da sind Zeiger gell... Damit hab ich noch nie was gemacht, kann das auch nicht umsetzen... Und wenn Du mit dem FRawLyrics googlen meinst, da krieg ich nur schrott angeboten... Vielleicht könntst mir da helfen, ich brauch das so dringend. Hab schon den ganzen Abend gegoogled, aber nix gefunden. Gruß Reiner |
AW: TMIDIPlayer2
Zitat:
Lade das Projekt hier im Thread und suche in der Unit MidiFile2 nach (FRawLyrics , Lyrics) Da steht doch alles drin mußt halt nur deinen Bedürfnissen entsprechend anpassen in deinem Projekt. Zitat:
|
AW: TMIDIPlayer2
Hi Emil,
bitte nicht böse sein, hab versucht die Kompo in D5 zu installieren, da hängt sich D5komplett auf. Dann mit D7 versucht die andre Kompo zu installieren, da krieg ich den Fehler: TntClasses.dcu nicht gefunden. Bin da leider noch nicht so fit :roll: Gibts da nen Trick dazu? Vielen Dank Dir Gruß Reiner |
AW: TMIDIPlayer2
Hi Emil,
nu hab ich die TNTClasses.pas und Unicode.pas v. Netz geholt und Compilliert. Trotzdem krieg ich Fehler über Fehler wenn ich MIDIComp_D7.dpk versuche zu öffnen: Jetzt möchte er die Unicode.res, faHidden ist plattformspezifisch faSyFile ist plattformspezifisch usw. Bitte hilf mir, dass ich das Ding zum laufen kriege. :cry: Gruß Reiner |
AW: TMIDIPlayer2
Zitat:
Im Anhang! TNTSetup TNTSource Setup Ausführen.. Demo Projekt starten aus TMidiPlayer2 TNTSource im Ordner TMidiPlayer2 entpacken. Anschließend den Suchpfade zu TNTSource mit einbinden. danach sollte es eigentlich funktionieren. Zitat:
gruss |
AW: TMIDIPlayer2
Hi Emil,
vielen Dank für Deine Hilfe. Ich glaub ich werd das Ganze mal auf D7 (nach einer kompletten Neuinstallation) machen, hab da nun schon soviel rumgewurschtelt, dass ich evtl. was kaputt gemacht habe. Grundsätzlich: Was sind diese TNT Kompos?? Da gibts ja auch DBGrid usw. Welche Vorteile gibts da? Darf ich mich nochmals melden wenn ich D7 neu installiert habe? Vielen Dank und Gruß aus Passau Reiner |
AW: TMIDIPlayer2
Zitat:
Um MultiLanguage zu Unterstützen. Melden kannst dich immer.. Sollte unter D7 funktionieren. PS: Hab leider im moment keine Zeit um das Sample für dich zu komplettieren was Lyrics angeht. Sorry gruss |
AW: TMIDIPlayer2
Ok habe aber extra für dich das projekt mal ohne Componente ausgelegt und direkt für D7
Ist jetzt allerdings nicht mehr Unicode fähig. Viel Spass damit. gruss |
AW: TMIDIPlayer2
Hi Emil,
mensch ich bin Dir so dankbar, dasst Dir Zeit nimmst für mein Problem. Also die DEMO.Exe kann ich ja starten, aber ich seh darin keinen Text der im Midifile mit Drin is. Nicht dass wir uns falsch verstehen, im Midifile sind die Texte zum Musikstück mit drin, die bräuchte ich. Gruß Reiner :):) |
AW: TMIDIPlayer2
Zitat:
Die Texte (RawFormat/Lyric) werden mit dem Comand $5 übergeben wenn sie im Midi vorhanden sind. Sorry habe dir aber gesagt das ich keine Zeit habe das für dich bzw.. im moment zu implementieren (EXE) Wie man an den Text kommt habe ich ja schon gesagt. Über das Event TMidiTrack.RawLyric (from property RawLyrics of TMidiTrack) Hab noch nen shot angehängt von Dancing Queen (ABBA) Schau mal bei FRawLyric gruss |
AW: TMIDIPlayer2
Hi Emil,
oki ich versuch mal mein Bestes... Evtl. melde ich mich in ein paar Tagen nochmal. Aber nun werd ich einfach mal alles versuchen was ich zusammen bringe. Vielen Dank einstweilen mal. Gruß Reiner |
AW: TMIDIPlayer2
Hallo Emil,
hm... bin verzweifelt ich weiß nicht wie Du das mit Die Texte (RawFormat/Lyric) werden mit dem Comand $5 übergeben wenn sie im Midi vorhanden sind. meinst. Ich weiß nicht wo ich was machen soll... Vielleicht hast doch bissl Zeit mir da irgendwie zu helfen. Bin auch gerne bereit, dir dafür bissl was rüberwachsen zu lassen... Umsonst solls nicht sein... Gruß Reiner PS: ich krieg das einfach so nicht hin. Weis nicht wo ich ansetzen soll hab da einfach viel zuwenig Erfahrung... |
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 17:44 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