This is my first post at the forum, but i use it passively for a months already, to fix my day-to-day MIXXX problems
i got a new project i am working on. I want to build a open source musicplayer like a regular CDJ with the help of a Raspberry PI2. I know a few people who really would like to get a cheap DJ-Musicplayer with a nice display and the ability to play music from USB-sticks without paying 1000€ for a device which just plays mp3.
There are a few cheap players around 100-200€, but they are ugly ( ), don’t have a nice display and are not open source. The price of the whole thing should be below 100€. ( without case ) If the performance of the whole thing is good at the end, i was thinking to build it as a allinone-soluten for multiple decks.
As i really like MIXXX and i use it for my own DJing purposes, i want to use it as the SW-base for this project.
The hardwareside will involve a display(with touch), some buttons, faders, encoders and a decent jogwheel. Just the same stuff found on a CDJ. I plan to use a small generalpurpose microcontroller to provide the Input. That should be no problem.
The problem arises from the output to the display and limited performance of a PI2. I already bought a small 3,5" display, build a primitive skin which shows just the necessary waveform + metadata and tested the performance on the PI2.
- MIXXX 1.12 compiled on PI (armhf)
- PI2 overclocked to 1000Mhz
- Waveformsetting is “Filtered” without GL
- external Soundcard
- Waveform-framerate is fluctuating between 3-22fps
- Sound is quite good. No artifacts.
Things to do at the SW-Side:
- get constant waveform-framerate around 25fps
- Change library-gui for USB-stick-only use.
My questions are:
- Where should i start trying to optimize the code to get a better framerate?
- Which parts could be disabled to get a better performance? (But i think i will need all threads: mixxx.org/wiki/doku.php/threads)
- Why are there still lots of cpu-resources unused (screenshot) although i got that bad framerate ?
If someone is interested in the project and want to help me, just give me a hint