Autor |
Beitrag |
sritter
Hält's aus hier
Beiträge: 11
|
Verfasst: Sa 21.09.02 13:47
Moin erstmal,
kennt jemand eine leicht anzuwendende und vorallem Absturzsichere!!! Midi-Interface Komponente für Delphi?
Ich benötige dabei folgenden Funktion:
- ausreichende wenn nur Kanal 1 oder 0 unterstützt werden!
- ausgabe von einer Oktave in halbton schritten
- veränderung der anschlagslautstärke
- veränderung der Gesamtlautstärke
- Ausgabe über den Midi-Ausgang/Gameport der Soundkarte
Da sich sicher viele fragen werden wozu das ganze... hier die Antwort:
Heutige Lichtanlagen für Stagelightning werden, wenn man sie über den PC steuern will per DMX/512 angesteuert. Leider ist dies sehr teuer und somit nicht im Etar einer schulischen Theater-AG vorhanden. Jetzt bietet unsere Lichtanlage (Lightmaster XL) jedoch die möglichkeit über einen MIDI-Port gesteuert zu werden wobei jeder ton einer oktave einem Lichtkanal entspricht und die Anschlagslautstärke des Tones dem Grad der Dimmung...
Das Programm "spielt" somit immer zwölf Töne und per schiebe-Regler wird dessen "Lautstärke" und somit die Helligkeit reguliert.
In weiteren Phasen ist auch ein Datei-Format gedacht mit dem man ganze Lichtabfolgen automatisieren kann.
Ich hoffe es wurde klar was ich meine und jemand kann mir eine gute MIDI-Komponente nennen.
Danke im vorraus
Steffen Ritter
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: Sa 21.09.02 15:34
also ich hab ne Midi kompo, ob die das alles unterstützt weiss ich nicht da ich damit noch fast nix gemacht hab. www.torry.net/vcl/mm...a/audio/tmidigen.zip probiers mal da, ich hoffe das hilft dir ein bisschen weiter.
_________________ ...hab ich vergessen
|
|
sritter 
Hält's aus hier
Beiträge: 11
|
Verfasst: So 22.09.02 16:33
@ SpeedyGTD
Danke erstmal. Die Komponente ist wirklich nicht schlecht jedoch bietet sie mir nicht die möglichkeit die lautstärke zu ändern während ein Ton ausgegeben wird. von daher ist sie für meinen Zweck nicht zu gebrauchen. Trotzdem Danke
Steffen
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: So 22.09.02 17:36
dann machs doch so das du mit nem Timer zB, den ton loopen lässt und dann die Lautstärke dazwischen einstellen.
_________________ ...hab ich vergessen
|
|
sritter 
Hält's aus hier
Beiträge: 11
|
Verfasst: So 22.09.02 18:41
@SpeedyGTD
Daran habe ich auch schon gedacht, aber das würde bedeuten, dass ich den Ton unterbrechen müsste und somit würde das Licht kurz unterbrochen werden. Somit praktisch schlecht durchsetzbar.
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: So 22.09.02 20:16
geht auch nicht, ich habs gerade mal probiert, da hört man dann garnix aber probier dochmal über MMSystem die midi Volume zu ändern.
_________________ ...hab ich vergessen
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: So 22.09.02 20:22
habs gerade mal probiert, über
MMSystem.midiOutSetVolume(0,TrackBar1.Position); konnte ich wärend der Sound abgespielt wird die Volume ändern. 
_________________ ...hab ich vergessen
|
|
sritter 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 23.09.02 15:54
@SpeedyGTD
merkwürdig... bei mir zeigt sich dabei keine Änderung während der KLang abgespielt wird.
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: Mo 23.09.02 17:45
poste mal den code, dann kann ich dir vieleicht helfen. 
_________________ ...hab ich vergessen
|
|
sritter 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 23.09.02 20:04
Gerne.
Hier:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.vol_chan1Change(Sender: TObject); begin MMSystem.midiOutSetVolume(0,vol_chan1.Position); end;
procedure TForm1.button_chan1Click(Sender: TObject); begin mid_chan1.Play; end;
end. |
Die wahrscheinlich dabei wichtigen Einstellungen der Komponente sind:
Lautstärke : 100
Duration : 50000
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: Mo 23.09.02 20:28
ist eigentlich richtig, mach mal bei Vol_chan max auf 65535, ich hab allerdings auch ein problem mit dem midi out, ich probier heute nach mal weiter.  wenn ich mehr weiss poste ich den code nochmal 
_________________ ...hab ich vergessen
|
|
sritter 
Hält's aus hier
Beiträge: 11
|
Verfasst: Sa 12.10.02 13:19
Danke; funktioniert leider auch nicht!
Muss mal nach anderen Komponenten suchen...
|
|
Zimond
      
Beiträge: 49
|
Verfasst: Mo 25.10.04 22:55
SpeedyGTD hat folgendes geschrieben: | habs gerade mal probiert, über
MMSystem.midiOutSetVolume(0,TrackBar1.Position); konnte ich während der Sound abgespielt wird die Volume ändern.  |
ich hab als volume wert jetzt von 0 bis sonst wie viel alles probiert. ich bekomme immer error code 11 (heißt "es wurde einer Systemfunktion ein ungültiger wert übergeben")

|
|