Updated sinc resampler with unscaled windowing, which fixes a lot of the previous aliasing
Merge pull request #4 from katajakasa/ttv-cmake-improvements
Resampler now adds input delay and subtracts output delay according to whichever quality is selected, rather than being fixed for sinc only. This fixes blep synthesis mode defeating note on and off volume ramping.
Add readme file for cmake building.
CMake improvements and cleanups
Changed volume ramping so normal transitions to or from zero volume are quicker
Removed blip_buf.c from remaining projects
Implemented blep synthesis into resampler.c, and removed blip_buf.c and code which referenced the old resamplers
Oops, I somehow seriously broke volume ramping prior to the previous release
Made disabling volume ramping actually work correctly
Forgot to re-add missing function
Made volume ramping configurable once again, now configurable between note on/off declicking only or full ramping
Oops, accidentally made DUMB twice as loud as it should be
Fixed resampler for large increments; fixes spx-troughtheinfinite.it
Reworked volume ramping a bit
Changed sinc window to Nuttal 3 term, and added pre-fill of silence to account for half the window size minus one
Removed a stale file from project
Forgot to remove last vestiges of now unused linear and cubic code
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