Replaced built-in linear and cubic resamplers with new routines
Renamed lanczos_resampler to sinc_resampler, changed to Blackman window
Remove comments which are no longer correct
Optimized SSE with optional SSE convolving loop, and doubled the kernel size
Overhauled volume ramping and note start/end declicking, now volume ramping is mandatory
Work around two possible issues in XM reader; Fixes dark_lighthouse.xm.
Fixed offset effect limiting edge case due to samples being 64 points longer due to LPC processing
Revert last change as file was actually broken
Merge branch 'master' of github.com:kode54/dumb
Added a workaround for pattern 255 in the order list
Merge pull request #3 from Vagabond/adt-cmake-install-name
Set the dylib install name on OSX
Fixed panning and sample loops
Fixed assertion checks in case of envelope loops on the last node
Added extra safety checking to aliased resampling mode
Merge branch 'ttv-cmake-v2' of https://github.com/omf2097/dumb
Remove unnecessary USE_SSE option from cmake file.
Add initial CMake script and directory
Added more architecture type guards to _USE_SSE blocks
Made the inline assembly cpuid function specific to GCC/Clang like it should have been in the first place.
Pan and pitch envelopes carry regardless of NNA being note cut
It is now possible to use both Gxx/Lxx and hx in the volume column in the same row
Fixed IT mixing Dxx regular volume slide with cx/dx volume column slide effect
Simplified pan law calculation a bit
Fixed Asylum Music Format panning effect
Fixed a C11 warning by adding a macro lock around blip_t declaration
Copied LONG_LONG definition inside of tarray header so it doesn't need to include the main dumb header
Made resampler and SSE filter setup functions public, in case anyone wants to call them early to prevent possible but harmless race conditions
Implemented automatic detection of SSE support
Renamed init_cubic function in preparation to make it public
Fixed compilation errors/warnings
Envelopes do not carry when New Note Action is Cut
Reworked declicker final volume propagation a bit
Fixed declicker handling cases where a declicking operation lasts longer than the current block
Removed start of note ramp when raising volume from zero on a running note, as normal volume ramping will already kick in
Fixed IT envelope loop pickup when the loop start is not on the first tick
Moved internal headers out of public dumb.h
Added documentation from the original project
Fixed 8xx effect for MODs, which have a range of 00...FF, not 00...7F or 80 or whatever
Fixed IT note cut and note off commands
Invalid notes correctly cause note fade, and range of valid notes increased to include 120/B-9
Normalized the indentation in the Lanczos resampler, and optimized the resampler a bit
IT NFx/NxF should not affect background voices
Merge branch 'master' of bitbucket.org:kode54/dumb
Channel volume effect should only apply to foreground voices
Fixed row played tracking and row timekeeping information for orders with skip commands
- I didn't realize that sigrenderer->tick counted down from speed to 1, rather
Apply delta to compressed samples regardless of creating tracker version
Merge branch 'master' of github.com:kode54/dumb
- Rewrote arpeggio implementation to use note offset tables
Fixed songs with envelope loops on the last tick
Fixed envelope start and end shortcuts
Merge branch 'master' of github.com:kode54/dumb
Fixed envelope loop timing
Fixed so it only initializes envelopes when instruments are enabled
Fixed envelope carry to only occur if the running note has not already been cut or released
Further fixes to IT envelope behavior
Reimplemented envelope carry to be more like other players
various fixes to address GCC warnings
Moved DUMBFILE structure to its own header file to unify the rare cases where it needs to be visible outside of dumbfile.c
Eliminated all clang compilation warnings
Fixed C++11 compilation error on Mac OS X
Fixed another stupid error
Cleaned up several warnings, including a buffer
Disabled MSVC 2012 default of SSE2
Fixed intermittent noise with SSE resonant filters by special casing zero length render calls
Subsong scanner always tries to play the first order now
Re-enabled SSE support and rewrote SSE filter function
Fixed timekeeping when starting a sigrenderer with a time offset
Disabled SSE as MSVC 2012 breaks it
Fixed position status reset on callback-aborted loop
Added MSVC 2012 v110_xp platform
Fixed duplicating some timekeeping state variables
Small fix for possible issue with time reporting for looped modules if callback ends playback
- Implemented loop-accurate time position reporting into DUMB
M_PI may not be defined
the MEMFILE filesystem didn't have seek and get_size functions
renamed "restrict" parameters to "restrict_"
Removed unnecessary optimization function
Fixed regular surround mixing
Optimizations and bug fixes for the Lanczos resampler
Fixed resonant filter handling in surround mixer
Implemented 3 channel surround mixing
Whoops, that was Blackman-Harris, not Lanczos. Lanczos produces less aliasing, anyway.
Fixed phase calculation when downsampling
- Implemented Lanczos resampler - Fixed overhead of performing effects updates on background voices
Replaced FIR resampler's IIR low pass filter with a fixed set of cutoff stages
- Removed *16/11 scale from S3M global volume