Einzelnen Beitrag anzeigen

mm1256

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

AW: TMIDIPlayer2

  Alt 24. Mai 2015, 17:13
@mm1256
Kann nicht dafür garantieren das es deinen Ansprüchen genügt.
Denke mal nicht denn dazu müsste man die ganzen Spezifikationen deiner Soundmodule/Expander kennen
um die Schnittstelle darauf hin anzupassen.
So wie dir bekannt sein dürfte hat jeder Hardware Hersteller da seine eigenen Vorstellungen.....
Mit den Herstellern hat das Problem eigentlich nichts zu tun. Soweit ich das derzeit einschätzen kann, gibt es beim MidiPlayer2 - so wie bei manch anderen Komponenten auch - Timing-Probleme beim Senden von SysEx. Ob's beim MidiPlayer2 am MidiOut liegt oder beim Abarbeiten der MidiEvents kann ich derzeit auch noch nicht sagen. Ist jedenfalls nicht so einfach zuz finden, denn wenn's einfach wäre, hätte es der Programmierer ja schon anders oder besser gelöst.

Heute nachmittag hatte ich etwas Zeit und hab mal mit höheren Prioritäten rumprobiert. Es ändert sich was. Wenn ich z.B. die Anwendung auf REALTIME_PRIORITY_CLASS setze, dann laufen manche Midifiles die mit normaler Priorität nicht laufen.

Zur Info: Besonders beim Senden von SysEx sind Expander/Soundmodule manchmal für ein paar Millisekunden "tot", d.h. reagieren nicht auf weitere Midi-Events. Darum werden die zu sendenden Events i.d.R. in einen RingPuffer (FirstIn-LastOut) geschrieben, der dann bei Verzögerungen wieder aufholt, wodurch sicher gestellt ist, dass kein Event verloren geht. Wie das beim MidiPlayer2 gelöst ist, habe ich mir noch nicht angesehen. Vielleicht komme ich diese Woche dazu, die MidiPlayer2.pas mal unter die Lupe zu nehmen.

Werde dann berichten. Das generelle Problem ist nämlich, dass es keine (mir bekannten) guten Midi-Komponenten mit Source für Delphi gibt. Alle haben sie irgendwo eine kleine Macke, und die meisten davon werden sowieso nicht weiter entwickelt. Zur Not muss ich selber mal ganz von vorne anfangen. Wenn nur die Zeit dafür da wäre
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