custom traktor controller with internal 7" vga screen mod - Page 10
Page 10 of 15 FirstFirst ... 67891011121314 ... LastLast
Results 91 to 100 of 141
  1. #91
    Tech Wizard Destrukto's Avatar
    Join Date
    Oct 2010
    Location
    London
    Posts
    77

    Default

    I'm toying with the idea to design a controller with a mini display, so that I can have one either side of the mixer, each displaying its own active Traktor deck. Ideally, and probably over-ambitiously, I want to build a mini motherboard into the controller so I can do away with the laptop altogether during an ordinary performance session. Hence the need for a display that can flip through different custom pages to access all needed features.

    I want to try it, because I think the future is DJ(Performance) Software/OS/Hardware all in one, or some combination of that. Perhaps in the future we'll have a controller onto which you can load 'Traktor OS'.

    My scripting skills are not so hot to be honest, but I have a buddy who can. I'm sticking to the pure electronic side of things, I'm much better at that.
    92/2D/X1/KRK/Traktor (Toshiba Satellite M50 / PSM51L)
    Progressive Psychedelic

  2. #92
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    If you want to build a computer INTO your midi controller (i applaud you), you may want to take a look at the mini-itx boards that are out there... You can get one without a cpu, which means you can add what ever chip you want (core duo/core quad).

    All in a 170mm x 170mm board (6.69" x 6.69")...

    http://www.intel.com/products/deskto...n-overview.htm



    Mil0, your video on the clone thing has me intrigued... almost to the point of scrapping my current idea *shakes fist in mock anger*...

    What are the overall latencies you've found, do they stick around the 20ms you mentioned? (would it work with real dvi/vga displays (with better response)? Have you tried two at the same time to see if the latency is the same or increases? What's the system resource usage like, is it a beefy app? ram/cpu hungry? Heh sorry for the barrage of questions :P

    That being said, I am going to play a bit with it today and see what it's like...
    Last edited by DjNecro; 04-17-2011 at 02:28 PM.

  3. #93
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    DjNecro - the 20ms latency is due to me using a USB Display Link monitor for the secondary display in Windows. I've already tested the Klone software on a normal VGA/DVI display and there is no discernible additional latency - it's as if you're viewing Traktor on a normal monitor. So, therefore it's advisable to buy a 7-8" LCD display that uses a VGA connection, rather than USB (unless you don't mind 20ms latency). I would personally recommend this screen instead (although I haven't tested it):

    http://cgi.ebay.com/NEW-3in1-7-Car-T...item4aa6efd241

    which is around the same price as my screen and same resolution, only its VGA and 7", rather than 8" diagonal.

    As for the system resource use; yep, it's a bit of a hog! It uses 45% of one core on my C2D 2.0ghz laptop when cloning 3 areas of Traktor. This is simply because I wrote the application in Autohotkey which really isn't designed for this kind of thing. The original application (CloneThing) was written in C or VB (can't remember) and is much less taxing on the CPU. Unfortunately, it was written for me by a friend and he doesn't have the time to fix the bugs (screen has some flickering and doesn't support midi... uses keyboard shortcuts to change cloned areas instead). I think the source code is somewhere in this thread if you want to have a go at fixing it / updating it?

    There was also another application which was written by some flightsim enthusiasts which ran very smoothly and didn't use hardly any cpu - see the middle of this thread somewhere for a video / link (called "MFD Exporter"). The only problem with it is that you have to use a very early version as later versions only cloned a specific flightsim and won't recognise Traktor. This means you lose the command-line support so it's very tricky to tell MFD Exporter which pixels you want to clone. I ended up writing a macro in AHK that manually entered the pixels into the config window every time I wanted to change the clone area but this was less than ideal!

    Anyway, personally I think combining one of these screens with two 16x2 LCD screens is the perfect solution... I hope you don't give up on the LCD coding...!

  4. #94
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    Not giving up on fully supporting the midi spec, not even close!

    I am giving up trying to assemble track information sent from traktor... I just don't see the benefit (assuming a dedicated processor).. I'll be working on increasing support for the denon spec later today... As far as I can see all that's left is the time related information...

    There is quite a bit more, but most of it is just for turning on and off the leds, and that is something that is left best to the programmer themselves since there is so many ways of doing led's and traktor sends regular midi messages for them (albeit cc's not notes)...

    I'll keep the main thread updated, don't you worry

  5. #95
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    Okay, I'm uploading the sourcecode to all three versions of the clone software (with a brief explanation of each version):

    Clone Thing - http://www.nicholas-johnson.com/stuff/clonething.rar



    This is the original clone software written by a friend of mine. I think it's written in Visual Studio .NET. The good thing about this program is that it's relatively lightweight and doesn't use much cpu and has qwerty hotkeys available. The bad things are that it when it's cloning Traktor, it seems to stutter and not clone very smoothly. Could be to do with the anti-aliasing it does when you magnify the zoom level?
    MFD Extractor - http://www.nicholas-johnson.com/stuf...rterFalcon.zip

    http://www.youtube.com/watch?v=-7-VaoJhEQ0

    This is a very early version of some clone software that's designed for use with a flight sim called Falcon. I use the early version because later versions would only clone the display from Falcon, whereas this early version will clone any Windows exe (such as Traktor). It's also written in Visual Studio .NET. The good thing about this program is that it runs very smoothly and uses very little cpu cycles. The bad things are that it's hard to customise - the options are limited to Falcon-related things so it's difficult to get it to clone different parts of Traktor (no hotkey or command line support).
    Traktor Klone - http://www.nicholas-johnson.com/stuff/TraktorKlone.zip

    http://www.youtube.com/watch?v=0r_ZAFH-dcU

    This is the program I wrote in Autohotkey. I can't actually find the sourcecode that supports midi control over cloned area but it's somewhere about... this version can change cloned area using qwerty hotkeys. The good thing about it is that it's very easy to customise to exactly how you want... it also runs very smoothly. The bad thing is that it totally kills your cpu! (like 50% of a 2.0ghz Core2Duo).
    http://www.youtube.com/watch?v=JvrU1USThRc
    I'm uploading these programs (with source) in the hope that someone can get them to work properly. I think the best candidates are the first two clone programs since they're written in a more cpu-efficient programming language. MFD Extractor would be absolutely perfect if someone could add some hotkeys so that you could easily change the pixels you'd like clone. Clone Thing would be much better if it didn't have any visual bugs and was a bit more polished to use.

    Ideally any clone software written/updated should be able to smoothly clone (multiple) sections of Traktor at the same time, change the cloned area with hotkeys/midi, allow the cloned area to be stretched (no aspect ratio maintained) and also allow the cloned areas to be rotated 90/180 degrees.

    Anyone want to help? I'd actually be well up for donating some cash via paypal to anyone who can get the job done

  6. #96
    Tech Mentor ToS's Avatar
    Join Date
    Apr 2008
    Location
    EXIT fest.town, Serbia
    Posts
    357

    Default

    I'd be all over it if I didn't have mouse driver to write. :-(
    Many photons have died to bring you this information.

  7. #97

    Default

    I'd be all over it if someone could implement something in objective-C so I could use something like this for mac!! I tried myself but gave up for lack of ideas on how to approach it. The best I got was taking a bitmap image snapshot of the display region and just polling it but that seemed to be quite inefficient?? I'll try and see if this is how all the three versions you have uploaded do it (I can't really see any other way to attempt it to be honest!). I can't remember the function I was using... something from quartz display service or quartz window services such as CGWindowListCreateImageFromArray...

  8. #98
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    I've got MFDExtractor working nicely in Visual Studio .NET Express (c# version). So far, it's slightly overwhelming - not sure where to start really! Having said that, the first thing I've discovered is that the initial configuration data is stored as xml inside "app.config". In this file it dictates the starting pixels to be cloned by MFDExtractor (which can be confirmed by the 573, 661, 190, etc values which are the default settings in the MFDExtractor options).

    Code:
    <userSettings>
            <MFDExtractor.Properties.Settings>
                <setting name="LMFD_ULY" serializeAs="String">
                    <value>573</value>
                </setting>
                <setting name="RMFD_ULX" serializeAs="String">
                    <value>661</value>
                </setting>
                <setting name="RMFD_ULY" serializeAs="String">
                    <value>573</value>
                </setting>
                <setting name="LMFD_ULX" serializeAs="String">
                    <value>190</value>
                </setting>
                <setting name="LMFD_StretchToFit" serializeAs="String">
                    <value>False</value>
                </setting>
                <setting name="RMFD_StretchToFit" serializeAs="String">
                    <value>False</value>
                </setting>
                <setting name="LMFD_LRX" serializeAs="String">
                    <value>352</value>
                </setting>
                <setting name="LMFD_LRY" serializeAs="String">
                    <value>737</value>
                </setting>
                <setting name="RMFD_LRX" serializeAs="String">
                    <value>833</value>
                </setting>
                <setting name="RMFD_LRY" serializeAs="String">
                    <value>737</value>
                </setting>
                <setting name="LMFD_UseExactOutputSize" serializeAs="String">
                    <value>True</value>
                </setting>
                <setting name="RMFD_UseExactOutputSize" serializeAs="String">
                    <value>True</value>
                </setting>
                <setting name="LMFD_OutULX" serializeAs="String">
                    <value>0</value>
                </setting>
                <setting name="LMFD_OutULY" serializeAs="String">
                    <value>0</value>
                </setting>
                <setting name="LMFD_OutLRX" serializeAs="String">
                    <value>162</value>
                </setting>
                <setting name="LMFD_OutLRY" serializeAs="String">
                    <value>164</value>
                </setting>
                <setting name="RMFD_OutULX" serializeAs="String">
                    <value>200</value>
                </setting>
                <setting name="RMFD_OutULY" serializeAs="String">
                    <value>0</value>
                </setting>
                <setting name="RMFD_OutLRX" serializeAs="String">
                    <value>362</value>
                </setting>
                <setting name="RMFD_OutLRY" serializeAs="String">
                    <value>164</value>
                </setting>
    These string names appear inside "extractor.cs" which I'm guessing is the code to actually extract (or clone) stuff. The following code seems to load the strings from the above xml file and use them as the default settings:

    Code:
     public void LoadSettings()
            {
                Properties.Settings settings = Properties.Settings.Default;
                _leftMfdInputRect = Rectangle.FromLTRB(settings.LMFD_ULX, settings.LMFD_ULY, settings.LMFD_LRX, settings.LMFD_LRY);
                _rightMfdInputRect = Rectangle.FromLTRB(settings.RMFD_ULX, settings.RMFD_ULY, settings.RMFD_LRX, settings.RMFD_LRY);
                _leftMfdOutputRect = Rectangle.FromLTRB(settings.LMFD_OutULX, settings.LMFD_OutULY, settings.LMFD_OutLRX, settings.LMFD_OutLRY);
                _rightMfdOutputRect = Rectangle.FromLTRB(settings.RMFD_OutULX, settings.RMFD_OutULY, settings.RMFD_OutLRX, settings.RMFD_OutLRY);
                _leftMfdAlwaysOnTop = settings.LMFD_AlwaysOnTop;
                _rightMfdAlwaysOnTop = settings.RMFD_AlwaysOnTop;
    So what I'm thinking is we need to add some hotkeys functionality that would allow us to switch between various sets of pixels. For example, pressing ctrl+alt+1 would change the LMFD_ULY string to "250" thereby changing the area that MFDExtractor is cloning.

    The next step would be to remove the Falcon HUD graphics when the settings window is opened. A 3rd/4th/etc cloned window would also be quite useful - something which later versions of MFDExtractor support (so we could look at the sourcecode to see what additions need to be made perhaps?)

  9. #99
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    Now that I've had a good look through the source, it doesn't seem half as bad as I first thought... I think it's definitely the best candidate out of the 3 cloning programs.

  10. #100
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    Quote Originally Posted by MiL0 View Post
    Now that I've had a good look through the source, it doesn't seem half as bad as I first thought... I think it's definitely the best candidate out of the 3 cloning programs.
    It certainly seems that way... From what I've been able to figure out on the code, it should be as simple as changing the main options screen a bit to allow for 'unlimited' cloned sections, along with a new form to configure/enable each section.

    I don't have much going on this weekend so hopefully I can get something working by tomorrow sometime...

    I'll hit you up on msn for more specific questions. Namely: how many sections would you need, unlimited, or just a handful (with hotkey support regardless).

Page 10 of 15 FirstFirst ... 67891011121314 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •