Jump to content

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


MTE
 Share

Recommended Posts

  • 2 weeks later...
  • Replies 130
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

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

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

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) ;)

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
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)

Link to comment
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

Link to comment
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.

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
Share on other sites

  • 4 weeks later...

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


×
×
  • Create New...