Jump to content


Photo
- - - - -

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


  • Please log in to reply
130 replies to this topic

#1 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 08 March 2007 - 17:53

Posted Image


[glow=yellow,2,300]Posted Image Projectpage -> http://www.traktorizer.de.vu  Posted Image[/glow]

#2 skenderbeg

skenderbeg

    MIDIbox Newbie

  • Members
  • Pip
  • 1 posts

Posted 21 March 2007 - 23:33

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

#3 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 22 March 2007 - 06:02

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


#4 TheProf

TheProf

    MIDIbox Guru

  • Programmer
  • PipPipPipPip
  • 701 posts
  • LocationUK, Near Manchester

Posted 22 March 2007 - 14:02

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




#5 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 22 March 2007 - 16:53

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

#6 jensah

jensah

    MIDIbox Newbie

  • Members
  • Pip
  • 12 posts

Posted 09 April 2007 - 12:30

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.

#7 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 09 April 2007 - 15:27

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

Best Regards

#8 stryd_one

stryd_one

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 8,850 posts
  • LocationMelbourne, Victoria, Australia

Posted 10 April 2007 - 05:49

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

#9 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 10 April 2007 - 11:16

loooooooool  ;D

#10 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 01 May 2007 - 13:07

Traktorizer V2.1 - Firmware added

more in the Wiki ;)

#11 stryd_one

stryd_one

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 8,850 posts
  • LocationMelbourne, Victoria, Australia

Posted 01 May 2007 - 13:28

Ahh a new point release, congrats :)

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


Pics! ;D

#12 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 01 May 2007 - 14:06

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

#13 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 02 May 2007 - 09:48

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

#14 stryd_one

stryd_one

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 8,850 posts
  • LocationMelbourne, Victoria, Australia

Posted 02 May 2007 - 14:35

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

#15 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 02 May 2007 - 15:07

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

#16 th0mas

th0mas

    MIDIbox Addict

  • Members
  • PipPip
  • 176 posts

Posted 02 May 2007 - 16:58

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)

#17 stryd_one

stryd_one

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 8,850 posts
  • LocationMelbourne, Victoria, Australia

Posted 02 May 2007 - 20:25

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

#18 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 02 May 2007 - 21:01

@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

#19 stryd_one

stryd_one

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 8,850 posts
  • LocationMelbourne, Victoria, Australia

Posted 02 May 2007 - 21:14

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.




#20 MTE

MTE

    MIDIbox Guru

  • Frequent Writer
  • PipPipPipPip
  • 1,189 posts
  • LocationGermany

Posted 02 May 2007 - 21:55

:) 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  :-\




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users