Sign in to follow this  
Followers 0
MTE

Traktorizer - a Midibox to control Traktor-DJ-Studio -

131 posts in this topic

Firstly congratulations on building such an awesome controller.  It looks perfect for the job (I spin psytrance with traktor, saw your youtube video - nice).  Can deffinatly see how having all traktors features laid out infront of you would be amazing.  Do you play out in clubs atall?  Im particularly interested in the jog wheel construction, which seems to be the downfall of most midibox and commercially availible midi DJ controllers.

Secondly what is the name of the track that you use at the beginning of the demo video on youtube? (not the scratch video, your first one), its a killer tune!

Thanks.

Adam

Share this post


Link to post
Share on other sites

Many thnx mate  :)

Yeh, Psytrance rockz...its my life !

I always DJ at Outdoor-Partys, cause in Clubs I never feeled the Spirit like on Wood-or Mountain Partys ;)

For some more information about my Jogs read my Wiki-Page, all Links are on Top here, 1st Post ;)

The Track is an Oldie from GMS (2001) called Hyperactive / Album "No Rules" ... My loved one, it pushes the dancing ppl crazy  :D

Enjoy....and when u build a same Controller I dont wanna miss some pictures here ;)

Best Regards

MTE

Share this post


Link to post
Share on other sites

Dear MTE

I'm knocked out by the design, as well as the videos which give a real feel for what you've done.

It's also given me an idea too. One of my friends is Miss Jinny, a Manchester DJ working the the dark world of Goth/EBM. She is also partially sighted, A few weeks ago she was discussing using Traktor. Your control surface has given me a very good idea for a way to make it easier for her to work with Traktor.

I've never used it myself. Does traktor send MIDI info as well as respond to it? and can you get things like track info as well?

Sorry for being lazy here - if I know a few basic answers, I can thiink about a specific control surface.

Thanks -  and again, superb design work.

Mike

Share this post


Link to post
Share on other sites

Thank you so much, Prof :)

a Manchester DJ working the the dark world of Goth/EBM

Great  ;D I was 10 years in Gothic-Scene before i switched to the Psytrancers  :)

The new Version of Traktor (3.2) only sends some Signals (dunno if its Note-Ons etc) to switch some LEDs on/off....Ive never tested this because my LEDs are self-programmed for their own state......so it is 1:1 with Traktor ;)

and can you get things like track info as well?

No, only on the PC-Screen :( It will be a great feature to put Track-Position etc on a LCD, maybe Native Instruments will implement this in future updates !

Best Regards

MTE

Share this post


Link to post
Share on other sites

Just a question about the scratch pads, yuo wrote that it was 8cds ona hdd motor with a strap to an encoder.

Is it a standard non indented rotary encoder or what? would love to see more info on that part if possible.

Share this post


Link to post
Share on other sites
would love to see more info on that part if possible.

Oh yes of course :)

The Encoder is standard with detend, but i removed it ;)

described here...

425145882_186f497931_b.jpg

Best Regards

Share this post


Link to post
Share on other sites

Surgeon General's Warning: Toying with rusty blades with bare hands may cause shoulder pain....from tetanus injections :)

Share this post


Link to post
Share on other sites

loooooooool  ;D

Share this post


Link to post
Share on other sites

Traktorizer V2.1 - Firmware added

more in the Wiki ;)

Share this post


Link to post
Share on other sites

Ahh a new point release, congrats :)

2 2×16 LCDs, 1 per each Deck ;)

Pics! ;D

Share this post


Link to post
Share on other sites

The Display (4x27 characters, for testing) hangs out of the box on the cable  ;D ;D ;D

Pics coming with the fully mounted new Final Frontpanel & Case (maybe in the next 2 months) ;)

Share this post


Link to post
Share on other sites

Gmornin :)

I need to program a LCD-State for my Pitch-Shift Faders (in C)....

The range must be -8.0 % to +8.0 %

so that 0 should be -8.0......63 = 0 ...and...  127 = +8.0 %

Ive tried some division-operation, but im not a mathematical genius  :)

Can anyone help me

Regards

Share this post


Link to post
Share on other sites

Maybe you could use TK's scaler code for this... scale your 0-127 from 0-16, then -8

/////////////////////////////////////////////////////////////////////////////
// This is an assembly optimized function which scales a 7bit value between
// a minimum and maximum value
/////////////////////////////////////////////////////////////////////////////
unsigned char Scale_7bit(unsigned char value, unsigned char min, unsigned char max)
{
  // scaled value is (<8-bit random> * ) >> 8
  PRODL = value << 1; // 8bit value
  PRODH = max-min+1;  // range
__asm
    movf _PRODL, W
    mulwf _PRODH, 0
__endasm;

  return min + PRODH;
}

im not a mathematical genius

LOL me neither but I can plagiarise like crazy ;)

Don't forget to put TK in the copyright notice or he might steal our pretty green stars hahahaha

Share this post


Link to post
Share on other sites

mhh I dont know how to implement this...

My friend helped me this morning with the code....we progged following :

float pitchshiftstate;
if(pin == 13)if(MIOS_AIN_Pin7bitGet(13) > 64)
{
pitchshiftstate = (MIOS_AIN_Pin7bitGet(13) / 8) - 8;
MIOS_LCD_CursorSet(0x00);MIOS_LCD_PrintCString("     DECK A     ");
MIOS_LCD_CursorSet(0x40);MIOS_LCD_PrintCString("Pitch-Shift : ");
MIOS_LCD_PrintChar('+');MIOS_LCD_PrintBCD3(pitchshiftstate);
}
else
{
pitchshiftstate = 8- MIOS_AIN_Pin7bitGet(13) / 8;
MIOS_LCD_CursorSet(0x00);MIOS_LCD_PrintCString("     DECK A     ");
MIOS_LCD_CursorSet(0x40);MIOS_LCD_PrintCString("Pitch-Shift : ");
MIOS_LCD_PrintChar('-');MIOS_LCD_PrintBCD3(pitchshiftstate);
}

this works  +7  -8    :(   

but I need it like -8.x    +8.x

Copyrights inserted  ;D

Share this post


Link to post
Share on other sites

Okay so:

your CC variable gives you a range of 0-127.

you have a pitch range of -8 to 8 %, for a total range of 16.  We're going to calculate it as a value of 0-16 (and worry about the subtraction later since it's linear).  Which means you have a granularity of 8 CC values per pitch percent.  Of our seven bits, this means we have:

CC Message:

x x x x x x x

          |

            ^

            last three bits gives our fraction value.

^

first four bits gives our integer percent value.

so our fractional value is (value & 0x3)

our integral value is (value >> 3)

You could use a lookup of char * to map the 8 values possible for the fractional part of the CC message to a character string.  It would probably be cheaper than a division.

ie:

char * fractionstrings[] = {"0","125","250","375","500","625","750","875"}

then in our lookup code, just print fractionstrings[value&0x3] for the fractional component.

Any questions just reply here.

edit:clarifications (I hope)

Share this post


Link to post
Share on other sites

mhh I dont know how to implement this...

Ugly layout, but:

MIOS_LCD_PrintBCD3(Scale_7bit(MIOS_AIN_Pin7bitGet(pin), 0, 16)-8);

Or do th0mas's thing :)

Share this post


Link to post
Share on other sites

@stryd

with

MIOS_LCD_PrintBCD3(Scale_7bit(MIOS_AIN_Pin7bitGet(pin), 0, 16)-8);

i got following error...

main.c:1258: warning 112: function 'Scale_7bit' implicit declaration

main.c:1258: error 101: too many parameters

main.c:1258: warning 112: function 'Scale_7bit' implicit declaration

main.c:1258: error 78: incompatible types

from type 'void'

to type 'unsigned-char'

Im not really or programming Pro....sorry for nerving

Share this post


Link to post
Share on other sites

Sorry MTE.... I kept the details to a minimum there... first you need to declare the scale function somewhere (top of the file)

unsigned char Scale_7bit(unsigned char value, unsigned char min, unsigned char max);

But I missed this comment:

but I need it like -8.x    +8.x

So do what th0mas said.

Share this post


Link to post
Share on other sites

:) when my friend (a really programming genius) is back again we will meditate about th0mas`s example...

Thnx anyway for te hints, im too stupid for this  :-\

Share this post


Link to post
Share on other sites

UPDATE !

I will complete overwork and upgrade to Traktorizer-PRO Version 3.0 ;) Some Pins at DIN / DOUT & AIN-Modules will be changed, for this I removed the solderplans etc at the Wiki...

so stay tuned...

Regards

MTE

Share this post


Link to post
Share on other sites

A Photo says more than 1000 words ;)

537322153_90d235bbca_o.jpg

Thnx to Stryd for helping me implement the Driver into the C-Firmware :)

more coming sooooon :)

Share this post


Link to post
Share on other sites

:D :D :D

Share this post


Link to post
Share on other sites

So it should look for 1 Deck... ;)

537501335_71421ecaef_o.jpg

Share this post


Link to post
Share on other sites

woah!!!

you are running 6 displays - OMG! well done mate!

how many cores?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0