![]() |
Kein Ton bei MIDI
Woran kann es liegen das ich keinen Ton bei midi erhalte?
Alle Gesendeten messagen sind positiv aber Ton kommt keiner. Habe direkt mit MMSystem versucht. Danach mit der Midi Komponente aus dem Forum hier, kein Erfolg. Meine Soundkarte ist in Ordnung.
Delphi-Quellcode:
Eigentlich sollte jetzt ein durchgehender Ton zu hören sein.
WM_COMMAND:
begin case LoWord(wP) of ID_KEY_ARRAY_FIRST..ID_KEY_ARRAY_LAST: PutShortMidi($90, byte((wp - 200) + 1), volume); end; Alle anderen Samples incl. das von FAlter funktionieren hier. Nicht einmal der einfachste aufruf führt zum erfolg. ![]() ![]() gruss |
AW: Kein Ton bei MIDI
Zitat:
|
AW: Kein Ton bei MIDI
Zitat:
Aber nicht mit meinem Window. Die frage ist also latency, Callback oder was sonst für ein Problem. Alle Messagen sind True also kein Fehler trotzdem kein Ton. (NUR in meinem Projekt) Zitat:
gruss |
AW: Kein Ton bei MIDI
Sicher daß dein ID_KEY_ARRAY_FIRS... überhaupt aufgerufen wird?
Funktioniert das PutShortMidi, wenn es z.B. über einen Button direkt aufgerufen wird? |
AW: Kein Ton bei MIDI
Zitat:
Zitat:
Wie gesagt beim debuggen werden alle Messagen positiv übergeben. Zitat:
EDIT: Hab mal nen VCL Button addiert Kein Ton. gruss |
AW: Kein Ton bei MIDI
Hast du mit einer Software, die erwiesenermaßen MIDI-Töne ausgeben kann auf deinem Rechner getestet?
Also z.B. mit dem Windows Media Player eine Midi-Datei abspielen. Dass deine Soundkarte in Ordnung ist, ist ja noch kein BEWEIS, dass auch das Midi-Subsystem wirklich funktioniert. Ich hoffe du hast das Prinzip verstanden: Traue niemanden, nicht mal Dir selbst! Bei Problemen gehe zurück auf Los und beweise dass es funktioniert. Hast du deine MIDI-Funktionen in einer VCL-Anwendung getestet? Falls nicht: schwerer Fehler! Mit einer VCL-Anwendung kann man wesentlich einfacher testen als mit einer NonVCL-Anwendung. Deshalb sollte man Code, der etwas komplizierter ist zuerst in eine VCL-Anwendung packen und testen. |
AW: Kein Ton bei MIDI
Zitat:
Zitat:
Zitat:
Ich habe keine Probleme damit ;) Summa summarum. Wurde alles bis auf's kleinste genau so, vorher schon geprüft, wie du vorgeschlagen hast. Und in VCL Anwendungen zu prüfen (Da geht es ja) wenn ich mit NonVCL arbeite macht keinen sinn. Das muss hier laufen. Zitat:
gruss |
AW: Kein Ton bei MIDI
Zitat:
Ich versuche Dir nur zu erklären wie man es richtig macht. 1.) sämtlicher Code für die Ansteuerung für MIDI gehört in eine eigene Unit. 2.) In dieser Unit gibt es eine Klasse mit diversen Methoden wie z.B. NoteOn(), NoteOff(),... Es kann nur eine Klasse sein, denn die API-Funktion MidiOutOpen() liefert ein Handle zurück, dass man für alle weiteren API-Aufrufe aufbewahren muss. Dafür braucht man eine Klasse; eine globale Variable wäre unprofesionell, da es mehr als ein MIDI-Device geben kann. 3.) diese Unit muss getestet und schrittweise verbessert werden. Das ist keine Zeitverschwendung sondern absolut notwendig. 4.) zum Testen könnte man eine VCL, NonVCL oder Konsolenanwendung verwenden. Sinnvoller Weise verwendet man eine VCL-Anwendung. 5.) die Testanwendung wird nicht weggeworfen, sondern zusammen mit der NonVCL-Anwendung für spätere Tests aufbewahrt. 6.) Die MIDI-Out-Klasse stellt eine Abstraktionsschicht um die Windows-API dar. In der Anwendung finden sich daher keine Konstanten wie z.B. $90(=Note-On). Schau Dir mal die Unit JclMidi aus der ![]() Wobei du für deine Zwecke die MIDI-Klasse etwas einfacher halten kannst. |
AW: Kein Ton bei MIDI
Zitat:
Sorry. Das sind alles mir bekannte Dinge die mußt du mir nicht erklären. Hier geht es um etwas anderes. Aber trotzdem Danke. Das Event Play wird einfach nicht ausgelößt. Obwohl alle funktionen gegengeprüft und einen True part zurückliefern. Es hat nichts mit MIDI in dem sinne zu tun sondern mit meinem Window Es läßt die Messagen nicht durch. Meine vermutung ist das es an meinen Interfacen innerhalb der DLL liegt in der meine Funktionen für das erstellen meines Skin Windows enthalten sind. Es dauert wohl zu lange bis alles abgearbeitet ist und das deshalb die 300ms überschritten werden und das Handle vom MidiOut nicht mehr existiert. Das ist meine einzige erklärung für das Problem. In einem anderen Project (auch mit meinem Window Skin aber ohne DLL) funktioniert das abspielen. gruss |
AW: Kein Ton bei MIDI
Hast Du Dein Programm mal ohne/außerhalb der IDE getestet?
Bei mir klemmt manchmal Drag&Drop, wenn die IDE noch läuft :twisted: MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz