SynthMaker

Skratz - DJ console

Archive · 2012 24 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

mwvdlee ·

UPDATE! Now version 0.22 with added feature; "Actually loads".

As promissed, I'll be releasing some of my partly-done projects on this forum. This is the first (and probably most interresting) one: Skratz. This is a DJ console complete with MP3 loading and some hidden treasures inside. It's also largely broken. Core functionality works, but a lot of things are either buggy or plain don't work. Essentially, this code has been lying untouched on my harddisk for nearly two years and I've only patched up some minor things over the last couple of days.

First things first; It's licensed with GPL 3.0. If you distribute (changed) copies, you MUST include your schematic file without limitations.

And here are the files:

Unzip the skratz.zip file in "E:/Skratz" (or change the path in the schematic accordingly; one level down inside the "Constants" module). It contains two .exe files;

• mpg123.exe - The latest binary distribution of this: http://www.mpg123.de/ • vanderlee.exe - Provides services such as directory information and MP3 ID3tag decoding. Don't change the filename or it won't work. Make sure the directory is writable, as communication between the executables and the schematic is handled using files.

Using it Go play with it. Loading an MP3 takes quite a bit of time (~20-30 seconds). This is purely the fault of lack of native MP3 support; the mpg123 decoder is fast, but it has to write some 10MB per minute of audio to the harddisk, and the schematic has to load it in afterwards. With builtin MP3 support, both these long delays would be eliminated. It still wouldn't be ideal, but it'd be a lot faster.

Interresting stuff There are too many interresting bits to mention, so I'll just name a few:

• MP3 loading • MP3 ID3 tag loading using external executable. Reads all current ID3 specs, but chops UTF-8 characters. • The wave preview uses a custom method to hilight the average amplitude over time instead. • There's a nice hi/mid/lo filter in there. It's not ideal (I'm no expert in filters) but it should be perfect when everything is set to 100% • Leave the BassBoost at 0%; it's horrible 😉 • Nice VU meters. • A completely unused file-browser. It was supposed to enable browsing for files without a popup and it's modal issues. The file browser works fine but I never got around to linking it to the rest of the schematic. • The spinning discs use a lot of view caching to achieve good performance. It also have a nice effect where it shows the tracks' "intensity" using dark/bright colors. • The spinning discs can be manually controlled. Currently they are in a sort of hybrid-CD/Vinyl mode where some actions are immediate and some have a "motor"-delay. Manually controlling the discs is somewhat inaccurate, thanks to S|M's lack of accurate timing in green (millisecond accuracy is not good enough). I've tried to be as accurate as possible, but to no avail. • A pretty pathetic BPM counter. If you use a monotonic house tracks, it's quite accurate. If you have something more varied, it breaks down. • It should work fine with a MIDI DJ console, but you may have to dig in the schematic to set the right control numbers There's probably a lot of other stuff to discover, so enjoy scourging through the code.

Perhaps it'd make a nice community project. Though without builtin MP3 support, this project is pretty much doomed from the start.

RunBeerRun2 ·

Looks good, I'll check it out later on during the day.

stw ·

I guess it would be a pleasure to dig into this but unfortunately it crashes my SM at initilization. 🙁

DigitalWhiteByte ·

stw wrote: I guess it would be a pleasure to dig into this but unfortunately it crashes my SM at initilization. 🙁

same here

Xtinct ·

Me too 🙁

mwvdlee ·

stw wrote: I guess it would be a pleasure to dig into this but unfortunately it crashes my SM at initilization. 🙁

Strange. I'll look into it. Any error messages?

Since the file browser and the rest are pretty much separate, I've split them up into two files. Atleast one of these should load now (hopefully).

sunsynth ·

Damn Martijn... 😇 😈

Would like 2 test it 2 but... crashes here always!

Did u deselected the Audio I/O 'Externas' ???

cheers, Walter

mwvdlee ·

sunsynth wrote: Damn Martijn... 😇 😈

Would like 2 test it 2 but... crashes here always!

Did u deselected the Audio I/O 'Externas' ???

cheers, Walter

Didn't deselect the audio, but it's deselected in this one:

(No audio in the file browser thing)

stw ·

mwvdlee wrote: Didn't deselect the audio, but it's deselected in this one:

(No audio in the file browser thing)

Maybe it's going wrong on my side but i still can't open it...

mwvdlee ·

stw wrote: mwvdlee wrote: Didn't deselect the audio, but it's deselected in this one:

(No audio in the file browser thing)

Maybe it's going wrong on my side but i still can't open it...

How about the separate file browser?

stw ·

mwvdlee wrote: stw wrote: mwvdlee wrote: Didn't deselect the audio, but it's deselected in this one:

(No audio in the file browser thing)

Maybe it's going wrong on my side but i still can't open it...

How about the separate file browser?

works!

DigitalWhiteByte ·

vanderlee.exe file is your creation? 🙂

mwvdlee ·

DigitalWhiteByte wrote: vanderlee.exe file is your creation? 🙂

Yes it is. Actually had to make it twice, since I lost the code for it about a year ago 🙁 I'll try to find out what happens with all the crashing in the schematic tomorrow.

mwvdlee ·

Here's an incomplete version, lacking midi and audio I/O and the MP3/ID3tag loading. It's crippled therefore, but I suspect the crashing might be caused by one of these. Please let me know if this one loads without crashing SM so I can try to fix the problems. I'd really like to get this done so you guys can play with, and hopefully improve it.

Xtinct ·

Still crashes 🙁

mwvdlee ·

Xtinct wrote: Still crashes 🙁

I have to get it right sometime This is one minus the complex graphics bits. Again, pretty much useless, but hopefully this helps track down the crashing.

adamszabo ·

i managed to open this version

Xtinct ·

That works 🙂

sunsynth ·

Sorry... forgot 2 mention that ur 1st version runs on my Dell AMD Duo win7 64 Bit 4GB Ram right from the start! 😀 On my little HP Slim Intel core 2 Duo XP SP3 2 GB Ram it Hangs... 😝

I also tried a BPM Counter but as we all know it's not possible now... 😈

Keep on doing!

Cheers, Walter

P.S.: Nice idea 2 simulate the record groove 😍

mwvdlee ·

sunsynth wrote: Sorry... forgot 2 mention that ur 1st version runs on my Dell AMD Duo win7 64 Bit 4GB Ram right from the start! 😀 On my little HP Slim Intel core 2 Duo XP SP3 2 GB Ram it Hangs... 😝

Good to hear it works atleast in SOME situations 🙂 Since you have two computers where one works and one hangs, would you be so kind as to try and figure out which specific part is causing the problem? From what I've gathered so far, the problem seems to be in the GUI part.

sunsynth wrote: I also tried a BPM Counter but as we all know it's not possible now... 😈

Too bad really. I don't know how people normally do BPM counters, but it seems to be very context-sensitive. Every song seems to have it's own specific settings where the BPM counter is reasonably good, but no settings seem to work well for multiple songs.

sunsynth wrote: P.S.: Nice idea 2 simulate the record groove 😍

And surprisingly functional too; it's easy to see where the loud and silent parts are. I planned to do a sort of needle-"drag" using RMB, but never got around to it.

sunsynth ·

Your wish is my command.

Speaking of the devil ...

I found it out 😉

dubagup ·

Hi,

When I use your OSM for convert WAV > MP3 : It work well in SM but not convert when I use it in executable !!

Do you know why ?

mwvdlee ·

dubagup wrote: When I use your OSM for convert WAV > MP3 : It work well in SM but not convert when I use it in executable !!

Do you know why ?

First of all, I've finally gotten round to putting up a version which fixes the loading issue discovered by sunsynth. Check the first page (Skratz - DJ console) to get v0.22.

As for executable... perhaps it's the path to the external MP3 decoder? Try adding some debugging in there and see what happens 🙂

dubagup ·

Hi mwvdlee,

The Path and all files have full acces. I don't understand where the mistake is. Does it work for you ?

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.