Mod Archive Forums
Music Production => NitroTracker => Tracking => NitroTracker Community => Topic started by: pailes on June 24, 2008, 08:40:52
-
Why isn't NitroTracker FREE SOFTWARE????
GO GPL!!!
... Just kidding folks ;)
-
Why isn't NitroTracker FREE SOFTWARE????
GO GPL!!!
... Just kidding folks ;)
It took milky a good old while! :)
-
And what is different now?
-
Someone can
And what is different now?
We can now finally put comments like "urmom" in the source code...
:D
Um. Ok, I'll get my coat.
-
palies: NitroTracker will be open source! It's still closed because the source is a little messy and I need to clean it up.
Maybe that's also the reason why Milky was closed until recently :)
-
palies: NitroTracker will be open source! It's still closed because the source is a little messy and I need to clean it up.
Maybe that's also the reason why Milky was closed until recently :)
At some point I realized that there is a lot of really bad code out there ;)
-
Bad code? If you're a programmer and you write good code there's something wrong with you. ;)
-
Does Nitrotracker use Maxmod or the simple sound engine? I'd really like to see how you load and edit samples.
-
I think it's based on libnds, and coded for both ARM7 and ARM9 (with two separate source-codes, just like for the Sampling Keyboard). Am I right, Tob?
-
Yes, I know. But libnds has two sound api's; simple sound engine and maxmod.
http://libnds.devkitpro.org/
-
Nope. Maxmod is an external library (maybe based on libnds, dunno), and the simple sound engine functions (soundPlayNoise, soundPlaySample, etc.) are made to be called from the ARM9 code.
Also, these two APIs have only been included in version 1.3.1.
I'm pretty sure Tob didn't use any of these functions, but he used the ARM7 macros of the previous libnds versions (lower-level, probably faster).
A sample code looks like:
SCHANNEL_TIMER(0) = SOUND_FREQ(22050);
SCHANNEL_SOURCE(0) = (uint32)sample;
SCHANNEL_LENGTH(0) = ((int)sample_end - (int)sample) >> 2;
SCHANNEL_CR(0) = SCHANNEL_ENABLE | SOUND_ONE_SHOT | SOUND_8BIT | SOUND_VOL(0x3F);
Immediately after the values are changed in the registry of channel 0, the sound starts to be played.