Jump to content

Traktorizer - Blog


MTE

Recommended Posts

Vielen Dank :)

naja, schau dir die Main.c der Firmware mal an... LOL....das ginge sicher auch kleiner  ::)

aber da sag ich einfach, hauptsache es funzt !

Das schwierigste kommt ja noch....die f**gin Scratch-Funktion.

Halte mich bitte mit deiner Programmierung auf dem laufenden, evtl.kann ich davon noch etwas lernen :) und falls ich dir in irgendeiner Form helfen kann, lass es mich wissen !

P.S.: Du & Audiocommander....schaut mal in den Header der Main.c  ;)

Grüße

Link to comment
Share on other sites

  • 1 month later...
  • Replies 231
  • Created
  • Last Reply

Top Posters In This Topic

Nein, das funktioniert folgendermaßen :

Die Effekte werden in der Range von 0 bis 127 nacheinander in Traktor geschaltet...

Table :

1.Filter T2          0-10   

2.Filter 92        11-31 

3.Delay            32-52 

4.Reverb          53-74 

5.Flanger        75-95

6.Beat-Masher  96-116

7.No-FX        117-127

diese Ranges habe ich dann in C so programmiert das in diesen Zahlenabständen die LEDs wechseln....

Lege einfach mal im Traktor nen Poti auf Effect Select dann siehst du in Traktor, MidiOX und/oder MIOS-Studio wie sich das verhält ;)

Grüße

MTE

Link to comment
Share on other sites

  • 1 month later...

WE GOT IT  ;D  ;D  ;D  ;D  ;D  ;D  ;D  ;D  ;D  ;D  ;D    *freustrahlhüpf MUHA

Nach quäligen 6 Std spannendster Hirnzermarterei mit größter Beihilfe meines besten Freundes aus Berlin, den ich ab jetz Universalgenie nenne, haben wir die Scratch-Funktion für den Traktorizer geknackt und in meine C-Firmware (endlich) eingebaut gekriegt !!!!!!!!! *Juhei  :D

Die Inspiration kam ja von diesem Post --> http://www.midibox.org/forum/index.php?topic=5794.0 wo der Entwickler von der KDJ-Box seinen Senf abgab... ;D

Auszug :

  For example for the scratch function:

-  NN 50 with VALUE 127 when the movement of the jog is started.

-  CC 40 with VALUE 127 when the jog is turned right.

-  CC 40 with VALUE 1 when the jog is turned left.

-  NN 50 with VALUE 0 when the movement of the jog is stopped.

Daraus bastelten wir dann folgende Lösung :

void ENC_NotifyChange(unsigned char encoder, char incrementer) __wparam
{
	// links gedreht
if(incrementer < 0 && encoder == 0)  // encoder == pin, number of DIN-Pin
{ 
if(scratchona == 0)
{
	MIOS_MIDI_BeginStream();
	MIOS_MIDI_TxBufferPut(0x9e);
	MIOS_MIDI_TxBufferPut(50);
	MIOS_MIDI_TxBufferPut(0x7f);    // 1. noteon
	MIOS_MIDI_EndStream();
	scratchona++;
}
	MIOS_MIDI_BeginStream();
	MIOS_MIDI_TxBufferPut(0xbe);
	MIOS_MIDI_TxBufferPut(40);
	MIOS_MIDI_TxBufferPut(0x01);    // 2. cc  01
	MIOS_MIDI_EndStream();
	scratcha=1;
}
// rechts gedreht
if(incrementer > 0 && encoder == 0)  // encoder == pin, number of DIN-Pin
{ 
if(scratchona == 0)
{
	MIOS_MIDI_BeginStream();
	MIOS_MIDI_TxBufferPut(0x9e);
	MIOS_MIDI_TxBufferPut(50);
	MIOS_MIDI_TxBufferPut(0x7f);    // 1. noteon
	MIOS_MIDI_EndStream();
	scratchona++;
}
	MIOS_MIDI_BeginStream();
	MIOS_MIDI_TxBufferPut(0xbe);
	MIOS_MIDI_TxBufferPut(41);
	MIOS_MIDI_TxBufferPut(0x7f);    // 2. cc  01
	MIOS_MIDI_EndStream();
  scratcha=1;
}
...............
void Tick(void) __wparam
{
if(scratcha > 0)
	scratcha++;
if(scratcha == 800)
	{ 
	MIOS_MIDI_BeginStream();
	MIOS_MIDI_TxBufferPut(0x8e);
	MIOS_MIDI_TxBufferPut(50);
	MIOS_MIDI_TxBufferPut(0x00);    // absoluter endnoteoff für scratch
	MIOS_MIDI_EndStream();
	scratcha = 0;
	scratchona=0;
}
}

In der Tick-Funktion wird der Note-Off (Scratch-Ende) gesendet, wenn eine gewisse Zeit nicht mehr gescratcht wird. Ausführlichere Angaben gibts später *Kopfweh

Ich muss sagen mit einer Einstellung von Sensitivity = 2 und die Acceleration = 7 (in Traktor) fühlt sich das ganze wirklich an als würde eine Schallplatte gescratcht werden....unglaublich aber wahr  ;D

Mit diesen Werten werden wir aber morgen noch etwas experimentieren und sehen, wie sich das noch absolut verfeinern lässt.

Auf jeden Fall sind wir jetzt Tod, aber morgen gibts dann noch den endgültigen Code und ein Demovideo !

...also DJs (die MIOS programmieren können  :P ) seid gespannt  ;D  ;D

Grüße

MTE (und das Universalgenie aus Berlin  :D )

Link to comment
Share on other sites

kleines update... :)

Ich habe heut morgen nun auf einen separaten Button nen Switch programmiert, der zwischen Pitchbend und Scratchfunktion schaltet.

Dazu haben wir grad noch blinkende (!) LEDs implementiert, die dem User einfach durch Ihren Blinkstatus mitteilen, das nun die Scratch-Funktion akiv ist.

So wird alles schön übersichtlich ;)

Die Pitchbend-Funktion schreiben wir jetzt dann noch um mit nem Zähler, um das MIOS_Delay zu umgehen, das sich ja leider auf alle Midifunktionen legt, wenn es aktiviert wird....somit kann man dann ohne Probleme den einen Track Scratchen während der andere gebendet wird.

Und dann Videooooooo ;D

Grüße

MTE

Link to comment
Share on other sites

Traktorizer 2.0 Final Firmware released  ;)

Awesome!!!!

Thanks for that man, I watched it right away, it really made my day at work a bit brighter. You must feel so happy right now hehehe ;D

Also, congratulations on being the third person on the forum lame enough to use the marquee flag ;D The first was me hahahahaha

Link to comment
Share on other sites

Eventuell zusammengeklebte, durchsichtige CDs aus nem Spindel Rohlinge?

Richtiiiiiiiiig ;)

sehen übel aus da der Epoxydharzkleber diese komischen Schlieren reinmacht....aber fürn Prototyp völlig Wurscht, die neuen für den Finalen Traktorizer werden aus Acryl gefertigt ;)

So in der Zwischenzeit haben wir noch 2 sehr praktische Features eingebaut, und zwaaaaaaaar pro Deck 1 Sensitivity-Poti für die Scratch und 1 für die Pitchbendfunktion, das heisst :

Bei Pitchbend kann man damit die Intensität des Plattebremsen-/anschubsen bei gleichmäßiger Jogdrehung verändern.

Beim Scratchen regelt man insoweit die Intensität, daß bei langsamen Scratchen und höherer Einstellung des Pots man zielgenauer z.B.: Bassanfänge treffen kann.

Grüße

Link to comment
Share on other sites

Moin,

echt cool Deine Arbeit,

ich darf doch den code später übernehmen , oder ?

Du arbeitest ja mit einem Riemen vom jog zum encoder, hat man damit eine bessere Auflösung oder hast Du das nur wegen der Mechanik gemacht ?

MfG ranger930

ps.: mein controller ist bis auf die jogs vom proggen her zu 99.8 % fertig, habe in drei Wochen auch eine Party mit 'ner geilen Anlage , 50 Leute und 1000 Watt Dynacord prozzesorgesteuerte PA, die Scheiben müssen schließlich raus ! , oder ?

Link to comment
Share on other sites

die Scheiben müssen schließlich raus ! , oder ?

Muha, hier ist schon fast kein Kit mehr in meinen Uraltscheiben  ;D  ;D

ich darf doch den code später übernehmen , oder ?

Na Logo, dazu stelle ich ihn ja schließlich Online ;) musst Dir halt nur diverse Schnipsel aus der Firmware ziehen, da sie ja sonst sicher nicht mit deinem Controller 1:1 funzen wird...

Du arbeitest ja mit einem Riemen vom jog zum encoder, hat man damit eine bessere Auflösung oder hast Du das nur wegen der Mechanik gemacht ?

Anfangs letzteres, aber im Nachhinein muss ich jetz feststellen, das mit der neuen Programmierung sich die Riemenübersetzuing um einiges feinfühliger entwickelt hat. Wenn man aber das Wheel mit dem Encoder direkt verbindet (ohne Riemen), ist ja jetz mit den neuen Sensitivity-Funktionen die Möglichkeit gegeben, die Auflösungen anzupassen  8)

Grüße

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