ChipdiscoDJ v0.21 - a MOD/XM/S3M DJ app made with Processing
category: general [glöplog]
I'm a bit apprehensive about posting this here, but it has to happen sooner or later. This is my hobby project - very much a 'learning to code' project which I realise is full of questionable programming technique (I don't care) and which I also realise is done in Java (also don't care).
It uses my Processing library 'PortaMod', which is a really lightweight way of adding module soundtracks to your Processing sketches.
Blurb:
Feedback most welcome, either here or in the blogpost comments. It seems to work well on Windows and Linux (as long as Java is installed, natch) and - as usual - there are some problems with MacOS...but I'm working on them. Bugreports from Mac users are particularly welcome at the moment.
Cheers!
It uses my Processing library 'PortaMod', which is a really lightweight way of adding module soundtracks to your Processing sketches.
Blurb:
Quote:
ChipdiscoDJ is a twin-deck MOD/XM/S3M player, set up like DJ software and with many of the same features. Needless to say, because modules are much better than MP3s, WAVs and other rendered audio files, you can do very cool stuff by digging into the notes as they’re calculated and played on the fly by the player engine. Adjust speed without adjusting pitch! Change pitch without altering speed! Mute individual instruments or channels! Trigger sub-pattern loops (a la Ableton Live) with pinpoint timing accuracy! Also, because modules are usually very small, you can roll up to a party with ChipdiscoDJ and a bunch of tunes on a floppy disk and kill that shit dead. No floppies? Don’t worry – you can queue up files from other websites by copying the URLs. Aaaawesome.
For those already familiar with Chipdisco, v0.21 represents a slight crawl forward in terms of features but a gargantuan, chasm-spanning leap forward in terms of stability and reliability – even though it’s still done in Java! It also looks a hell of a lot prettier now, and I think it’s sort of found itself visually after all this time (though there’s still scope for refinement…)
Feedback most welcome, either here or in the blogpost comments. It seems to work well on Windows and Linux (as long as Java is installed, natch) and - as usual - there are some problems with MacOS...but I'm working on them. Bugreports from Mac users are particularly welcome at the moment.
Cheers!
Sounds a bit like a new incarnation of ModPlug Player. Cool! :)
Well I do have a tiny little single-tune player applet...but the next project is to get the audio engine working in Processing.js/HTML5/Firefox4 so that maybe by the time all browsers support that shit, I won't have to use Java applets at all... A man can dream ;)
nice project, i'll give it a try :)
funny project, will look into it later =)
Quote:
you can roll up to a party with ChipdiscoDJ and a bunch of tunes on a floppy disk
instant winner!
oh damn, computers don't have floppy drives anymore... :) nevertheless, cool idea and I will try it or look into it later.
the font used for the module infos is a bit hard to read. anyway, a cool app!
nosfe: that's because, with all "retro"-stuff, you HAVE to use crap unreadable fonts, otherwise it's not "retro". :)
Yeah, I was about to say that font looks nasty too :) Is it changeable?
Maybe I'll give it a very quick look at some point, too busy lately :/ Can anyone recommend a good floppy disk emulator?
Maybe I'll give it a very quick look at some point, too busy lately :/ Can anyone recommend a good floppy disk emulator?
nice. but for the sake of all humanity and sanity. Never EVER include Impulse Tracker support. Thanks!
Quote:
sanity
Uhmmm, implementing 100% IT suport is a breeze compared to 100% XM support...
impulse tracker users are inbreed homoroids from outer space
Haha I like the font. But you can't use things you like, otherwise it's not "pouet". I'll probably change it for my own sanity, at the risk of the kids thinking I'm not retro :)
Thanks for looking, chaps!
Thanks for looking, chaps!
Tried and liked it.
- Better change the Font in the sample fields to something readable
- It hangs when you click 'c' without having a second sound card (configured?)
Can I get the .jar somewhere to have it on disk?
- Better change the Font in the sample fields to something readable
- It hangs when you click 'c' without having a second sound card (configured?)
Can I get the .jar somewhere to have it on disk?
Thanks. Yup, changing the font right now, and also trying to fix the OSX/Linux bug where the cue mix hangs it. I think it happens even when secondary soundcards are installed...I've got some OSX users helping me, anyway :)
You can download 'application' versions (which in Processing are just packaged-up JARs with OS-specific executable scripts) from the links under the applet. Truck tells me that the OSX one is packaged weirdly and might need the executable bit set...although he was so angry about having to be in the same room as a Java applet that he was ranting a bit and I wasn't 100% sure what he meant ;)
You can download 'application' versions (which in Processing are just packaged-up JARs with OS-specific executable scripts) from the links under the applet. Truck tells me that the OSX one is packaged weirdly and might need the executable bit set...although he was so angry about having to be in the same room as a Java applet that he was ranting a bit and I wasn't 100% sure what he meant ;)
<3 Processing. I've been prototyping with it for the past year and I've really grown to like it (especially with the Javascript port now).
I'll have to check your player lib out later and better yet, _make_ something with it :)
I'll have to check your player lib out later and better yet, _make_ something with it :)
Yay! Literally _nobody_ on the Processing boards is interested in module formats whatsoever, or their advantages when used in simple sketches, so it'd be nice to see something done with it. So far, ps is the only person to have used it - for this: http://enoughrecords.scene.org/goto80_openfunksores/
there should also be a possibility to scratch with mods ;)
It can, but I haven't refined the MIDI control for it yet :) I can scan back and forth by row, but ideally it would use an X/Y controller, where one axis is the direction and the other is the number of rows per action (hence scratch speed).
My library also lets you glitch up samples during playback by letting you adjust sample loop start point and loop length: http://vimeo.com/8146425
You can also replace a song's samples with samples of your own on the fly, that's fun. And jam along to the song with a MIDI keyboard using one of the song's instruments \o/
Next thing I'm working on is pattern-based (i.e. non-DSP) delay...
My library also lets you glitch up samples during playback by letting you adjust sample loop start point and loop length: http://vimeo.com/8146425
You can also replace a song's samples with samples of your own on the fly, that's fun. And jam along to the song with a MIDI keyboard using one of the song's instruments \o/
Next thing I'm working on is pattern-based (i.e. non-DSP) delay...
keep up the cool work syphus, it's getting better and better :)
would only hope someone would annoying browser devs to properly support java audio dom side object destruction. it works fine if you only load it once. but try killing the object and adding it again without a page refresh and you're in for sound browser miss-compliance hell :D
would only hope someone would annoying browser devs to properly support java audio dom side object destruction. it works fine if you only load it once. but try killing the object and adding it again without a page refresh and you're in for sound browser miss-compliance hell :D
uh uh, feature request. network load :D
i wanna post a random "http://chiptunes.com/tune.zip" and have it play on the decks :D
i wanna post a random "http://chiptunes.com/tune.zip" and have it play on the decks :D
oh nevermind, just noticed that it's already implemented :D
Ah, you've discovered the hidden avant-garde textural sound collage feature!
Yes, it's a pain in the cock. Refreshing often doesn't kill the object either; safest is to go to the browser's homepage and then back again.
Yes, it's a pain in the cock. Refreshing often doesn't kill the object either; safest is to go to the browser's homepage and then back again.
i approve!
Fckin great toy! I wonder what's the bare minimum to run this, to create sort-of lo-tech portable dj-laptop filled with mods, for little oldschool parties.