AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TMIDIPlayerComp
Thema durchsuchen
Ansicht
Themen-Optionen

TMIDIPlayerComp

Ein Thema von EWeiss · begonnen am 6. Jun 2011 · letzter Beitrag vom 5. Feb 2016
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: TMIDIPlayer2

  Alt 7. Jun 2015, 13:46
Bzgl. FPitch

Zitat:
Ray Lischners Delphi in a Nutshell Kapitel 2 (Seite 37)
Zitat:
When Delphi first creates an object, all of the fields start out empty,
that is, pointers are initialized to nil, strings and dynamic arrays are empty,
numbers have the value zero, Boolean fields are False,
and Variants are set to Unassigned.
(See NewInstance and InitInstance in Chapter 5 for details.)
Mehr gibt's da nicht zu sagen.

Zitat:
SysEx: Verlorene SysEx habe ich heute mit MidiOx keine mehr gefunden
Gut! Aber wo liegt es dran?
An den Änderungen oder ausschließlich an der Priority.
Ich behaupte einfach mal das es daran lag weil wir die SysExMsg (Events) nicht behandelt haben.

Zitat:
Es sind aber immer noch etwa 1/3 meiner Midi's die nicht laufen.
Ich vermisse mindestens eine Datei als Upload um deine Aussage bekräftigen zu können.


gruss

Geändert von EWeiss ( 7. Jun 2015 um 14:06 Uhr)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: TMIDIPlayer2

  Alt 7. Jun 2015, 18:20
Zitat:
SysEx: Verlorene SysEx habe ich heute mit MidiOx keine mehr gefunden
Gut! Aber wo liegt es dran?
An den Änderungen oder ausschließlich an der Priority.
Ich behaupte einfach mal das es daran lag weil wir die SysExMsg (Events) nicht behandelt haben.
Es liegt daran, dass ich die SysEx-Verarbeitung im Driver einstellbar gemacht habe. Dem Player habe ich hierzu eine Property "SkipSysExMessage" spendiert und wenn die aktiviert ist werden keine SysEx gesendet und die beiden SysEx die ich brauche sende ich vor dem Start des Players mit PutLong manuell.

Hast du keinen MidiOx oder etwas Vergleichbares? Dann könntest du das auch kontrollieren bzw. nachvollziehen: Der MidiPlayer sendet bei einem im Midifile enthaltenen SysEx nur ein einziges Byte. Ein Bug den ich noch nicht gefunden habe, denn PutLong funktioniert prinzipiell. Mit der Erhöhung der Priorität wird wohl lediglich der SysEx etwas schneller verarbeitet (sprich die Routine kommt etwas schneller zurück) und dann passt das auch besser im Timing, denn in einem SysEx wird z.B. das KanalRouting geändert, was natürlich vor der ersten Note schon erledigt sein muss.

Zitat:
Zitat:
Es sind aber immer noch etwa 1/3 meiner Midi's die nicht laufen.
Ich vermisse mindestens eine Datei als Upload um deine Aussage bekräftigen zu können.
Danke für das Angebot! Ich hatte bisher nicht den Eindruck, dass sich darum dann jemand kümmert, und darum habe ich es sein lassen.

Hier öffentlich als Dateianlage geht nicht, weil meine Midi's natürlich ganz reell gekauft wurden und somit dem Copyright des Herstellers unterliegen. Ich müsste sie also z.B. nach 15 Sekunden abschneiden, dann wären sie für den normalen Einsatz unbrauchbar und mein Gewissen wäre beruhigt.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: TMIDIPlayer2

  Alt 8. Jun 2015, 07:42
Zitat:
Es liegt daran, dass ich die SysEx-Verarbeitung im Driver einstellbar gemacht habe.
Es scheint das meine Frage bei dir irgendwie nicht richtig ankommt.
Mich interessiert es weniger ob du etwas geändert hast, sondern ob unsere Änderung im vergleich zu vorher
irgendwelche Auswirkungen auf deine nicht funktionierenden Midi-Dateien hat.

Wie schon gesagt haben wir die SysEx Events vorher nicht behandelt.
Die Änderung! Nochmal zur Veranschaulichung.

Delphi-Quellcode:
            if (not NoExclusiveMsg) then // for (pEvent^.Msg <> '')
               if (EventCode = $F0) or (EventCode = $F7) then // $F7 - used as a Message continuation mark
               begin
              // if FChannelState[ChannelNo] then
              // MidiOut.PutLong(pAnsiChar(pEvent^.Msg), Length(pEvent^.Msg)); // * missed event code
              // * Bug fix : correction for missed event code (01 Jun 2015)
                 SysExMsg := AnsiChar(EventCode) + pEvent^.Msg;
                 MidiOut.PutLong(@SysExMsg[1], Length(SysExMsg));
               end;
Zitat:
Danke für das Angebot! Ich hatte bisher nicht den Eindruck, dass sich darum dann jemand kümmert, und darum habe ich es sein lassen.
Ok kann ich verstehen.
Aber verstehe bitte auch das so keine "Fehler?" behoben werden können.
Ohne das wir einen Vergleich ziehen können. (Datei.. analysieren)

gruss

Geändert von EWeiss ( 8. Jun 2015 um 12:46 Uhr)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: TMIDIPlayer2

  Alt 8. Jun 2015, 07:55
Hallo,

erst gestern habe ich mir die aktuelle Version nochmals runtergeladen. Selbst da ist der von dir zitierte Codeausschnitt nicht enthalten.

Ich werde es heute bei Gelegenheit ändern und dann testen.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: TMIDIPlayer2

  Alt 8. Jun 2015, 07:57
Hallo,

erst gestern habe ich mir die aktuelle Version nochmals runtergeladen. Selbst da ist der von dir zitierte Codeausschnitt nicht enthalten.

Ich werde es heute bei Gelegenheit ändern und dann testen.
Danke...
Hatte aber darum gebeten...
Zitat:
Ersetzt mal bitte die procedure TMidiDriver.DoOnMidiTimer in der MidiPlayer2.pas
Siehe!
http://www.delphipraxis.net/1303745-post83.html

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: TMIDIPlayerComp

  Alt 20. Nov 2015, 17:39
Neue Version online unter GNU General Public License.

Bitte die alte Komponente wegen Versions Konflikt vorher deinstallieren.
TMIDIFile2, TMIDIPlayer2 und TSheetMusic.

Silhwan hat die "Midi Sheet Music" class, written in c# by
Madhav Vaidyanathan, nach der Delphi Komponente "TSheetMusic" portiert.
Mein Dank geht also an ihm.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: TMIDIPlayerComp

  Alt 25. Nov 2015, 21:10
Neue Version..
Änderungen siehe v0.9.1

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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