An die Programmierer: Wie steuert man einen Sequencer an?

  • Ersteller Stelzbock
  • Erstellt am
Stelzbock

Stelzbock

Registriert
12.02.06
Beiträge
2.309
Reaktionen
3
Punkte
2.510
Servus,

Da ich ja am überlegen bin mir aus einem Tablet-PC einen Mixer zu bauen mach ich mir Gedanken, wie ich nun einen [g=70]Sequencer[/g] (per [g=32]MIDI[/g]) ansteuern kann...

Damit meine ich:
- Transportfunktionen (Start, Stop usw..)
- Die Fader der Tracks für Lautstärke, Pan , Mute Solo etc...

Ich denke mal ersteres ist in [g=32]MIDI[/g] genormt. Beim zweiten Punkt weiß ich aber nicht welche [g=32]MIDI[/g] Daten ich da senden muss.

Dann prinzipiell wie das in Windows gemacht wird? Also welche Schnittstell benutze ich um [g=32]MIDI[/g]-Daten zu senden? Brauche ich dafür noch irgendein SDK oder ist das schon fest in Windows integriert?

Ein Link wäre auch hilfreich... :roll:

Danke!
 
Logic hat dafür eine Liste, in der man eigentlich jede Funktion einer beliebigen, eingehenden [g=32]Midi[/g]-Note zuweisen kann. Andere Sequenzer kenne ich nicht gut genug...
 
Naja was willst du denn genau machen? Kann mir das nicht so vorstellen. Vielleicht solltest du dich erstmal über das [g=32]MIDI[/g]-Format informieren.

http://de.wikipedia.org/wiki/[g=32]MIDI[/g]

Bei Wikipedia stehen auch ziemlich viele technische Informationen. Zur Umsetzung emfephle ich die Website von Microsoft.

http://www.microsoft.com/germany/msdn/developercenter/default.mspx

Generell liefert Windows alles mit, was man braucht. Musst dich nur ein wenig einlesen.

Ausserdem immer zu empfehlen: ISBN 1-55615-390-2
 
Guten Morgen!

Damit meine ich:
- Transportfunktionen (Start, Stop usw..)
- Die Fader der Tracks für Lautstärke, Pan , Mute Solo etc...

Ich denke mal ersteres ist in [g=32]MIDI[/g] genormt. Beim zweiten Punkt weiß ich aber nicht welche [g=32]MIDI[/g] Daten ich da senden muss.

Jap ersteres ist in [g=32]Midi[/g] genormt -->Wikipedia.
Zum Zweitem: Naja, Das kommt auch auf das Programm an, das du ansteuern willst. Das is zumindest nicht genormt. Plugs haben ja öfters auch mal ne [g=32]Midi[/g]-Learn Funktrion. bei ner [g=17]DAW[/g]....herstellerseite?

Dann prinzipiell wie das in Windows gemacht wird? Also welche Schnittstell benutze ich um [g=32]MIDI[/g]-Daten zu senden? Brauche ich dafür noch irgendein SDK oder ist das schon fest in Windows integriert?

DirectX heisst dein SDK:)
guck mal da:
Codeproject, midiguide
Um den [g=32]Midi[/g]-port zu scannen:
midimonitor - Sourcecode

Benni.
 
Vielleicht solltest du dich erstmal über das [g=32]MIDI[/g]-Format informieren.

[g=32]MIDI[/g]-Format kenn ich shcon. Da hab ich mich vor ner Weile schon eingelesen.

Zum Zweitem: Naja, Das kommt auch auf das Programm an, das du ansteuern willst.

FLStudio und Reaper. Wbobei ich zu Reaper definiv Informationen kriege. Bei Fl weiß ich nicht.

DirectX heisst dein SDK

Ah, OK danke, das wollte ich wissen ;)! Direct Music... Der CodeProject link ist gut ;) Das project muss ich mir mal anschauen.

Wie läuft denn das bei gekauften Midicontrollern ab. Die müssen ja auch irgendwie funktionieren... Was benutzen die den für [g=32]MIDI[/g] Befehle?

Hat jemand vielleicht einen Controller und kann mal mit dem [g=32]MIDI[/g]-[g=226]Monitor[/g] mit tracen? Oder weiß es jemand?

Danke
 
Unter Windows gibts die Multimedia-API dafür. Die Funktionen beginnen nahezu alle mit "[g=32]midi[/g]" im Namen.
Das läuft technisch ungefähr so ab:
Man ermittelt mit der entsprechenden Funktion der API (midiInGetNumDevs/midiOutGetNumDevs) die Anzahl der im System registrierten [g=32]Midi[/g]-Geräte und anschliessend durchläuft man die einzelnen Geräte, ermittelt die Namen und füllt damit ein Listenfeld o.ä. wo der Benutzer dann auswählen muss welches Gerät er nutzen will.

Die ensprechenden [g=32]Midi[/g]-Events werden in einen Puffer verpackt und dieser wird an die API übergeben, wo er dann sozusagen in den Ausgangsqueue geschoben wird um dann zum Treiber und an das Interface geschickt zu werden. Wenn der Puffer abgesetzt worden ist, wird die Anwendung dann informiert ("Callback") und man kann weitere Puffer absetzen bzw. auf eine Antwort warten oder was auch immer dann tun.

Die Codierung der Midibefehle sind einfach Controllerdaten. Controllerdaten haben einen Header der Zeigt das es Controllerdaten sind und dann eine Nummer die den Controller spezifiziert. Idealerweise sollte man da wohl Controllernummern nehmen die schon vorbelegt sind ansonsten muss man das halt in Cubase selber zuweisen welcher Controller was genau auslöst. Die genaue Reihenfolge eines Controllerbefehls bzw. wie er codiert ist steht in der [g=32]Midi[/g]-Chart bzw. bei Herrn Google ;)

Du solltest erstmal versuchen was über HUI (diesen Mackie-Standard) zu lesen und wie dort die Controller bereits vergeben sind. Ansonsten musste halt selber die zuweisen in Cubase. Dann solltest du mal in MSDN gucken und dir die Multimedia-API anschauen damit du eine kleine Anwendung schreiben kannst um das zu steuern.
Du kannst dir auch mal sowas wie einen [g=32]Midi[/g]-[g=226]Monitor[/g] (gibts umsonst) anschauen und mal genau gucken was z.B. übertragen wird wenn du an einem externen Synth einen Controller bewegst.
 

Ähnliche Themen

tim_heinrich
    • Danke
  • Artikel
Antworten
0
Aufrufe
3K
tim_heinrich
tim_heinrich
Can
Antworten
5
Aufrufe
1K
danam
D
Can
Antworten
5
Aufrufe
2K
Navar
N
moonbooter
    • Danke
  • Artikel
Antworten
4
Aufrufe
4K
music-anderson
M

Oft gelesene Themen

Zurück
Oben