Jump to content

ain64_din128 mit 3 encodern...


chosn

Recommended Posts

Hallo Leutz!!  ;)

Nachdem ich jetz endlich nach laanger, laanger Zeit mal meine Midibox fertig hab, steh ich jetzt vor einem von mir unlösbarem Problem.

Nämlich: Ich möchte die ain64_din128 Anwendung mit 3 encodern verwenden.

Ich hab schon probiert in der tables die encoder einzutragen, dann "gemaked" (mit der Microchip-IDE).

Und auch ein Erweitern der encoder_sample Anwendung mit den ganzen Tastern hat leider auch nix gebracht.

Ich kann immer nur entweder die encoder ODER die Taster verwenden.

Wäre echt froh, wenn mir dabei jemand helfen könnte..... :-\

Danke schonmal im voraus :)

chosn

Link to comment
Share on other sites

Hallo Chosn,

nimm mal die ain64_din128_dout128 Anwendung als Grundlage, trage in mios_tables.inc::MIOS_ENC_PIN_TABLE die Encoder ein und sende aus dem main.asm::USER_ENC_NotifyChange Hook ein beliebiges MIDI Event (bspw. 0xfa) --- sobald dies funktioniert, sollte der Rest nicht mehr so schwierig sein :)

Falls die Assembler Programmierung zu schwierig fuer den Anfang ist, koenntest Du auch mal den C Wrapper ausprobieren.

Gruss,

        Thorsten.

Link to comment
Share on other sites

Danke Thorsten. Jetz weiß ich, wo ich in der main.asm hinlangen muss. :D

Funktioniert auch prima!

Nur noch eine Frage: Ich möchte jetz einen Encoder so verwenden, dass er, wenn er nach rechts gedreht wird, fortwährend ein Midi-Event sendet und bei Linksdrehung ein anderes Signal (also keine "Potifunktion" wie bisher). Ist das überhaupt möglich (bis jetz hab ich nämlich no nix gefunden) ???

Chosn

Link to comment
Share on other sites

Hallo Chosn,

ich vermute mal, dass Du anstatt der absoluten Werte lieber relative Events versenden moechtest - klaro, das ist moeglich, es ist so simpel, dass es dafuer eigentlich gar kein Beispiel braucht ;-)

Im wesentlichen gibt es drei verschiedene Standards:

40 +/- speed (wird bspw. von den Native Instruments Produkten unterstuetzt)

00 +/- speed (wird von Steinberg Produkten unterstuetzt)

60 fuer increment, 61 fuer decrement (MIDI standard, wird aber von so gut wie keiner Software unterstuetzt)

Beispiel fuer 00 +/- speed (speed bedeutet hier anzahl der Inkrements/Dekrements - normalerweise 1 bzw. -1, kann jedoch auch groesser sein je nach eingestellten Speed Mode und Drehgeschwindigkeit des Encoders):


;; --------------------------------------------------------------------------
;;  This function is called by MIOS when an encoder has been moved
;;  Input:
;;    o Encoder number in WREG and MIOS_PARAMETER1
;;    o signed incrementer value in MIOS_PARAMETER2:
;;      - is positive when encoder has been turned clockwise
;;      - is negative when encoder has been turned counter clockwise
;; --------------------------------------------------------------------------
USER_ENC_NotifyChange
;; send B0 <encoder> 00+/-<speed>

movlw 0xb0
call MIOS_MIDI_TxBufferPut
movf MIOS_PARAMETER1, W
call MIOS_MIDI_TxBufferPut
movf MIOS_PARAMETER2, W
andlw 0x7f
call MIOS_MIDI_TxBufferPut
return
[/code]

Gruss,

        Thorsten.

Link to comment
Share on other sites

Super. Das war fast genau das, was ich wollte..  ;)

Es funktioniert jetz auch. Allerdings hab ich jetzt das Problem, dass nicht nur ein Encoder relative Events sendet sonder alle! ???

Es müssten aber eigentlich die 2 anderen wie "normale" Encoder funktionieren... Geht das auch?

Meine Midibox soll übrigens für Traktor DJ funktionieren. 2 Encoder verwende ich für den Transport an den beiden Decks und mit dem 3. möchte ich durch die Playlisten scrollen...

Für Traktor müsste der Encoder allerdings zwei verschiedene Events (also nicht nur b0, 7f) senden.

Ist das auch realisierbar?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...