sourcecode/sl_notes.txt | |
This is the alpha version of SL2 2.5.
::New in this Version
2.5a
.Support for Win32 (Delphi 5..7, FPC 1.0.10, 1.9)
.Support for WaveOut and DirectSound 9 as output
.volume ramping for reduced clicking in MOD playback
.massively improved MOD/S3M/XM playback
.support added for old Soundtracker 15 instrument MODs, WOW-format (Grave composer) supported
.cubic interpolation for downsampling
.ASM support for FPC, Delphi (only linear interpolation, no volume ramping)
.24 bits DirectSound playback possible (requires to enable a code line, no check designated
by Microsoft)
.improved Sound Blaster driver
::Version history
2.5a
SoundLib 2:
.BP ASM mixing routines slightly optimized
.Pascal mixing interpolation doesn't 'forget' last sample by now - frequency
accuracy doesn't suffer in loops anymore
.getvu returns higher values
.higher quality cubic downsampling (ONLY pascal code, no ASM!)
.volume ramping (ONLY pascal code)
- active by default
- procedure setramping included
- only ramps on playback start, volume set, sample offset; however, still don't
underestimate the positive effect in lots of cases
.compiler settings now in sndlib2.inc - allows project specific parameter control
.soundlib only used 15 bits output yet, so half the loudness :(... fixed
.getvu does always return value
MOD Player:
.fixed finetune bug with tuning < 0 (affected XM files)
.included own setchannels procedure
.fixed mod playback issue (instrument given, but no period means now not to retrigger note)
.fixed s3m wrong portamento bug
.samples weren't stopped after song finished; fixed
.stop resets song position to zero
.added last S3M/MOD effects; all FX are tested and supported now :)
.play really resets tempo/bpm now
.tracker version detection
.fixed SEVERAL small MOD/S3M/XM compatibility 'issues'... I really don't want to write down
every single piece (dozens... write a MOD player and you'll know what I mean ;)
.fixed lots of bugs... I mean LOTS of bugs...
.S3M and MOD Playback should be PERFECT now... no joke, I can't find any wrong played file
.optimized several code lines
.old 15 instrument MODs supported (hope detection works well with all of them)
.WOW format support added (actually 8chn MOD with wrong 4 channel "M.K." id)
::Known issues:
- some XM files with complex volume envelopes may not play as desired; however,
this remains to be the only real XM problem
- Free Pascal does currently only work with WaveOut driver; DirectSound support
will be added for Free Pascal 1.9
- Playback using WaveOut and Free Pascal turns out to have unnecessarily high
CPU usage; this will be investigated
- Using WaveOut and Delphi causes clicking under Windows 9x; if you happen to hear
clicking somewhere else, try to raise the buffer size
- no real issue, but "should-know": for low latency and reduced CPU usage, you should
prefer DirectSound Playback
- ASM mixer may not work with Delphi (disabled by default); anyway, the pascal mixer
sounds better and Delphi compiles to really fast code (less than 1% CPU time on P3 450
on XM playback with 32 channels and DirectSound)
- Currently, both DirectSound and WaveOut driver only support one output at once; driver
selection remains to be manually; this will be improved via linked lists
- Using Free Pascal and DOS target, the code may not run as desired and crashes; this doesn't
happen with every program and seems to be occasionally - have no clue why; I suspect something
going wrong with interrupts and saved registers
- WaveOut may not function properly with cards not supporting 48 KHz output; this is due to
a probably wrong documentation by Microsoft; The driver needs to know the maximum possible
frequency (and the wave out "lies" about this)
::Additional notes
Alpha state
This software is currently in alpha state. This mainly means that its drivers haven't been
tested and improved in every single aspect. Instead, see this release as a preview what
may come soon, and which helps you to learn how to use SoundLib 2.
There are things planned which for I haven't had time yet.
DirectSound
The DirectSound output for Delphi requires additional header
files, which you can obtain here:
http://www.crazyentertainment.net/?id=ddx&ver=nine
Take DirectSound, d3dx9 and dxerror. The included DLL files are
not required and hence don't need to be distributed.
Remember: Project paths need to be advanced by the DirectX directory. | | [Back] |