Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TMIDIPlayerComp (https://www.delphipraxis.net/160875-tmidiplayercomp.html)

EWeiss 6. Jun 2011 06:04


TMIDIPlayerComp
 
Projekt entfernt..

EWeiss 3. Jul 2011 06:40

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!

markus5766h 3. Jul 2011 09:59

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

EWeiss 3. Jul 2011 10:01

AW: MIDIReader (MIDIFile2)
 
Zitat:

Zitat von markus5766h (Beitrag 1109732)
Hallo

. . . läuft einwandfrei :thumb:
(Win 7 Pro - 64-bit)

Supi das hört sich gut an..
Soll die Basis für mein VPiano sein um die MidiDateien
korrekt einzulesen und abzuspielen.

5 mal geladen eine Antwort?
Schade!

gruss

igel457 3. Jul 2011 22:30

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.

EWeiss 11. Jul 2011 08:47

AW: TMIDIPlayer2
 
Neue Version hochgeladen.

gruss

musicman56 22. Aug 2011 17:03

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.

borncrush 22. Aug 2011 18:22

AW: TMIDIPlayer2
 
Läuft wunderbar!

Vielen Dank !

:thumb:

EWeiss 22. Aug 2011 19:01

AW: TMIDIPlayer2
 
Zitat:

Zitat von borncrush (Beitrag 1118675)
Läuft wunderbar!

Vielen Dank !

:thumb:

Ist doch mal was ;)

gruss

borncrush 23. Aug 2011 13:21

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

EWeiss 23. Aug 2011 14:09

AW: TMIDIPlayer2
 
Zitat:

Ich würde gern diesen Player in unserer Musikschule vorstellen.
Dürfte kein Problem sein.
Solange der Author im Quelltext nicht entfernt wird..

gruss

EWeiss 23. Aug 2011 14:17

AW: TMIDIPlayer2
 
Zitat:

Zitat von musicman56 (Beitrag 1118660)
Hallo,

ein paar (so um die 10) Midi's getestet und bei einem gibt's Stress.

Werde ihm das teil mal zuschicken.
Danke.

gruss

EWeiss 27. Aug 2011 06:06

AW: TMIDIPlayer2
 
Zitat:

Zitat von musicman56 (Beitrag 1118660)
Hallo,

ein paar (so um die 10) Midi's getestet und bei einem gibt's Stress.

Neue Version oben!
Und deine angehängte Datei funktioniert nun auch.

gruss

musicman56 28. Aug 2011 12:58

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?

EWeiss 28. Aug 2011 13:45

AW: TMIDIPlayer2
 
Zitat:

Zitat von musicman56 (Beitrag 1119986)
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?

Es gibt Meineserachtens nur zwei möglichkeiten entweder mit D7 oder ab D2009 wegen Unicode.
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:

Natürlich auch dafür bezahlen.
Warum das? Ist doch FreeWare

gruss

musicman56 31. Aug 2011 11:16

AW: TMIDIPlayer2
 
Zitat:

Warum das? Ist doch FreeWare
Schon klar,

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:

beanbear6 2. Dez 2011 21:19

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

EWeiss 2. Dez 2011 21:31

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

beanbear6 2. Dez 2011 23:03

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

EWeiss 2. Dez 2011 23:07

AW: TMIDIPlayer2
 
Zitat:

Zitat von beanbear6 (Beitrag 1139034)
Hab schon den ganzen Abend gegoogled,
aber nix gefunden.
Gruß Reiner

Verstehe dein problem nicht.
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:

You also can get the lyrics with time information from property RawLyrics of TMidiTrack.
gruss

beanbear6 3. Dez 2011 10:20

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

beanbear6 3. Dez 2011 10:55

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

EWeiss 3. Dez 2011 16:14

AW: TMIDIPlayer2
 
Zitat:

bitte nicht böse sein, hab versucht die Kompo
in D5 zu installieren,
Warum sollte ich?

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:

faHidden ist plattformspezifisch
faSyFile ist plattformspezifisch
Kannst du getrost ignorieren ist ne Krankheit bei/von Delphi


gruss

beanbear6 4. Dez 2011 11:40

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

EWeiss 4. Dez 2011 11:55

AW: TMIDIPlayer2
 
Zitat:

TNT Kompos
Sind verschiedene Componente.. die welche hier verwendung findet ist die Unicode.pas
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

EWeiss 4. Dez 2011 12:06

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

beanbear6 4. Dez 2011 17:10

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
:):)

EWeiss 4. Dez 2011 18:38

AW: TMIDIPlayer2
 
Zitat:

Nicht dass wir uns falsch verstehen, im Midifile
sind die Texte zum Musikstück mit drin, die bräuchte ich.
Wir verstehen uns schon richtig.
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

beanbear6 5. Dez 2011 19:32

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

beanbear6 13. Dez 2011 19:34

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...

EWeiss 14. Dez 2011 00:37

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:
// Get Lyrics
  RichEdit1.Text := MidiFile.Lyrics;
sieht dann so aus !!

Delphi-Quellcode:
// Get Lyrics
  RichEdit1.Text := MidiFile.Lyrics;
 // PositionBar.Max := MidiFile.PlayTicks;
  PositionBar.Max := round(MidiFile.Duration / 100.0);
das ergebnis siehe Pic..

PS:
Hab noch ein kleines problem gefunden.. In der Unit MidiFile2
Delphi-Quellcode:
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
gruss

EWeiss 18. Dez 2011 08:01

AW: TMIDIPlayer2
 
Neue Version oben..
Added "Sync Lyics" & "Plain Lyrics" Display.

gruss

beanbear6 19. Dez 2011 16:41

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

EWeiss 19. Dez 2011 19:50

AW: TMIDIPlayer2
 
Zitat:

Zitat von beanbear6 (Beitrag 1142261)
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

TNT Componente musst du verwenden wenn du die Version mit den Componenten verwendest.
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

beanbear6 20. Dez 2011 04:03

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

EWeiss 20. Dez 2011 04:52

AW: TMIDIPlayer2
 
Zitat:

Auch sieht die Form nicht so aus wie in der oben gezeigten Grafik...
Sieht deshalb anders aus weil ich die http://www.delphipraxis.net/162206-t...omponente.html nicht verwende.
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

beanbear6 20. Dez 2011 05:15

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

EWeiss 20. Dez 2011 06:33

AW: TMIDIPlayer2
 
Zitat:

Vielleicht kann man das mit der roten Farbe noch irgendwie
integrieren...
Kann ich nicht verstehen ..
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

musicman56 20. Dez 2011 09:31

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

EWeiss 20. Dez 2011 10:41

AW: TMIDIPlayer2
 
Zitat:

Mit den "Sel.."-Funktionen der Memo's geht das ziemlich einfach.
Er sagt ja das er nicht so gut im Programmieren ist..

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 18:23 Uhr.
Seite 1 von 3  1 23      

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