Jump to content

Traktorizer - Blog


MTE

Recommended Posts

Hi MTE!

Saubere Arbeit.

Fragen:

Dachte du hast nur 2 Encoder für Jog (pitch bend), was machst du dem als shuttle definierten.

Start Logo -> geile Idee.

Loopstep: welche commands hast du in Traktor dafür definiert, das einzige was ich finden konnte ist looplength increase bzw decrease und das ist absolot schwachsinnig weil das auf die BPM keine rücksicht nimmt und nicht mehr seamless arbeitet.

grüssi

m.

Link to comment
Share on other sites

  • Replies 231
  • Created
  • Last Reply

Top Posters In This Topic

Hi

http://people.freenet.de/mte/Traktorizer/Traktorizer-V8.jpg

schau da mal links und rechts unten in den Ecken bei "Wind", da ist zwischen den Buttons auch ein Encoder, dachte mir wenn man spult kann man mit den Buttons erstmal grob suchen und dann via Encoder fein auf den Cuepunkt spulen ;)

Das bei Loopstep ist schon richtig, da gibts im Traktormenü noch ein Untermenü bei Looplength...."Looplength#1,#2,#3 und #4" .

;)

Grüße

MTE

Link to comment
Share on other sites

Jetz brauch ich noch ein Tipp von erfahrenen Programmierern....

///////// Cueplay definition ///////
if(pin == 21)
{
MIOS_MIDI_BeginStream();
MIOS_MIDI_TxBufferPut(0x9f);
MIOS_MIDI_TxBufferPut(pin);
MIOS_MIDI_TxBufferPut(0x7f);
MIOS_MIDI_EndStream();
MIOS_DOUT_PinSet(pin, 1);
MIOS_DOUT_PinSet(22, 0);
MIOS_DOUT_PinSet(23, 0);
MIOS_LCD_Clear();
MIOS_LCD_PrintCString("Cueplay A :");
MIOS_LCD_PrintBCD4(pin);
return;
}

Bei "Cueplay" 1x gedrückt schickt er volle 127....das is soweit gut so....aber nochmal gedrückt soll er absolut nix mehr schicken, was muss ich da am Code ändern ??

Link to comment
Share on other sites

Cool

schon gesehen :)

Kannst du evtl so wie ich Pre-releases deines Codes in deiner Wiki-page verlinken, so könnte ich evtl.bisserl was lernen wie du arbeitest und die anderen interessierts vielleicht auch ;)

Kann mir irgendwer zu Reply #128 einen Tip geben ??

In English :

Can anyone give me a hint to my Code on Reply #128, i need a solution for a Button:

You see when its pressed it sends full Note-On value 127....thats ok !

So now i want to :

when its pressed again it should send nothing !

The Button should be "ready" again when an another button is pressed...

how do I code this ??

hope you understand  ;D (crappy english lol)

Grüße/Regards

MTE

Link to comment
Share on other sites

ad 128:

wenn pin 21 gedrückt wird läuft immer die gesamte routine ab die du oben unter "code" gepostet hast. du müsstest also einen counter einführen, der auf 0 gesetzt wird wenn CUE  oder welche taste auch immer gedrückt wird und das code schicken nur zulässt wenn der counter auf 0 steht.

also:

if (counter == 0) {midi senden} else {}

zu meinem code:

werd ich online stellen

m.

Link to comment
Share on other sites

Cool, grad ma reingeschnuppert, die Idee mit den blinkenden LEDS am Anfang ist genial :) :) habe damit auch schon rumprobiert....

funktioniert aber nicht unter "void Init"  sondern werf das mal in "void DISPLAY_Init"....geht super  :D

Dachte mir auch das alle Boxenleds mal am Anfang kurz aufblinken und ausharren sollen, um zu sehen das alle noch intakt sind ;)

Supergeil, der Code wächst grad mehr mit schönen Spielereien als mit den wichtigen Hauptfunktionen  ;D

Peace

MTE

P.S.: MIOS_DELAY geht nur bis max. 255, du hast in der ersten zeile 1000 rein....mit 4x hintereinander MIOS_DELAY(250) ...same effekt ;)

Link to comment
Share on other sites

mhh ne das will so nich,alle Varianten durchprobiert, schickt aber immer noch nach nochmaligem drücken Events

ist aber der einzige weg sowas zu machen, wie es Wild_Weasel beschrieben hat. das programm muss ja irgendwie wissen, ob du das erste oder zweite mal drückst; also muss der "ready-status" deines buttons in einer variable gesetzt und dann abgefragt werden...

grüße,

AC

Link to comment
Share on other sites

Puh, ich glaub da stelle ich mich wieder nur dumm an  ::)

unsigned char counter;   ....ganz oben definiert ;)

void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam
{
if(pin == 21)  // --- Pin of CuePlay ---
counter = 0;
if(counter == 1)
{
MIOS_MIDI_BeginStream();
MIOS_MIDI_TxBufferPut(0x9f);
MIOS_MIDI_TxBufferPut(pin);
MIOS_MIDI_TxBufferPut(0x7f);
MIOS_MIDI_EndStream();
MIOS_DOUT_PinSet(pin, 1);  // --- CuePlay A-LED on ---
MIOS_DOUT_PinSet(22, 0);  // --- PlayPause A-LED off ---
MIOS_DOUT_PinSet(23, 0);  // --- CuePause A-LED off ---
MIOS_LCD_Clear();
MIOS_LCD_PrintCString("Cueplay A :");
MIOS_LCD_PrintBCD4(pin);
return;
}else{
}
}

will nich  :(

???

Link to comment
Share on other sites

Danke  ;D hat ne Weile grad gedauert bis es bei mir ankam aber so gehts super !

void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam
{
if(pin == 21)  // --- Pin of CuePlay A---
if(counter == 0)
{
MIOS_MIDI_BeginStream();
MIOS_MIDI_TxBufferPut(0x9f);
MIOS_MIDI_TxBufferPut(pin);
MIOS_MIDI_TxBufferPut(0x7f);
MIOS_MIDI_EndStream();
MIOS_DOUT_PinSet(pin, 1); // --- CuePlay A-LED on ---
MIOS_DOUT_PinSet(22, 0);  // --- PlayPause A-LED off ---
MIOS_DOUT_PinSet(23, 0);  // --- CuePause A-LED off ---
MIOS_LCD_Clear();
MIOS_LCD_PrintCString("Cueplay A :");
MIOS_LCD_PrintBCD4(pin);
counter = 1;
return;
}
if(pin == 22)  // --- Pin of CuePause A---
{
counter = 0;
MIOS_MIDI_BeginStream();
MIOS_MIDI_TxBufferPut(0x9f);
MIOS_MIDI_TxBufferPut(pin);
MIOS_MIDI_TxBufferPut(0x7f);
MIOS_MIDI_EndStream();
MIOS_DOUT_PinSet(pin, 1);
MIOS_DOUT_PinSet(23, 0);  // --- PlayPause A-LED off ---
MIOS_DOUT_PinSet(21, 0);  // --- CuePlay A-LED off ---
MIOS_LCD_Clear();
MIOS_LCD_PrintCString("Cuepause A :");
MIOS_LCD_PrintBCD4(pin);
return;
}
}

Wenn hier also CuePlay gedrückt wird,schickt er einmal 1 Signal raus und ist danach solange tot, bis CuePause gedrückt wird ;)

Wenn ich euch net hätte ... :)

Link to comment
Share on other sites

Sauber

bist ja auch schon bös am rödeln :)

Habe gestern auch die Traktorizer V1.4 auf die Wiki...ist soweit fertig, puhh das war 2 Wochen learning by doing :)

Nun werde ich mich intensiv mit der Scratch-Geschichte auseinandersetzen....ich will das so haben wie hier -> http://www.rulecam.net/photos/displayimage.php?pos=-4030

Die KDJ-Firmware ist ja in C++ geschrieben, soweit ich auf deren Page jetz rausgelesen habe....und er benutzt dafür auch nen normalen Encoder....also dürfte es in C auch kein Problem sein....ich weiss nur nicht wie ich da ansetzen soll....mit deiner Pitchbendlösung ist es nahe dran, aber wie du schon in vorigen Posts sagtest, das muss viel hochauflösender sein.

Mal sehen...

Grüße

MTE

Link to comment
Share on other sites

Moin,

akutes Problem und Frage an euch:

habe mir den Pitchbend Code angeschaut und in meinen Code eingefügt,

geht aber nur wenn ich MIOS DELAY( irgendwas)  weglasse,

denn sonst schmeisst mir der Compiler die Meldung raus:

"""too many parameters"",

habt Ihr das nicht ?

habe das letzte SDCC Skeleton V1_9,

MfG ranger930

Link to comment
Share on other sites

Also ich hab das nicht, sonst würde ich den Code ja nicht online stellen...

Wild Weasel kann dir da sicher besser helfen, von ihm sind diese Zeilen entwickelt.

evtl. hilft ja das ...hast du im Mios-Wrapper-Verzeichnis deines Skeletons in der datei "mios_tables.inc" deine encoder auch eingetragen ???

Grüße

MTE

Link to comment
Share on other sites

  • 1 month later...

Mahlzeit

so mal wieder n Zwischenupdate, Acryl is da und kommt die Tage unter die Fräse *freu, Firmware soweit fertig und wartet zum testen.

Da kam mir noch ne Idee :

Da ich dieses Baby in ferner Zukunft mit einem Schlepptop betreiben möchte, kam mir in den Sinn ein Switch zu bauen, der den Chiptausch (max232 - LTC ... / ... 6N138 - CORE) überflüssig macht und fand dazu dies -> http://www.midibox.org/forum/index.php?topic=3993.0

Habe die shematic mal nachgekritzelt...

405584825_e344b54247.jpg?v=0

Nun meine Fragen :

1. Ist diese Shematic korrekt, denn es war aus dem ASCII-Plan schwer zu erraten, wo die rx/tx pins hingehören :)

2. Softwaretechnisch stelle ich mir das so vor...

Die Box ist via Midi angeschlossen und möchte nun zum Com-Port wechseln, die Box hat nen Schalter wo ich das umstelle...in dem Moment sollte dann die Firmware rebooten um den Modus zu übernehmen (wegen der Baudrate etc) oder ? Ist das realisierbar ??

3. Kann ich diesen Umschalter evtl. auch von nem DIN-Pin aus belegen, laut meiner Logik ja, aber bin mir grad nicht mehr sicher...

Ich denke das wäre dann ein sehr cooles update für das LTC-Modul :)

Grüße

MTE

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...