5 years agoSome conversion replacements:
Naram Qashat []
Some conversion replacements:

* Replace the (w)stringify functions with the standard std::to_(w)string functions.
* Replace convertTo with versions that use type_traits to determine which standard string conversion function to call, as well as handle enums specically.

5 years agoReplace deprecated wstring_convert with Windows API functions.
Naram Qashat []
Replace deprecated wstring_convert with Windows API functions.


5 years agoRemove last modification date from files.
Naram Qashat []
Remove last modification date from files.

(I never remember to update these and besides, GitHub history can show when they were last modified.)

5 years agoVarious updates:
Naram Qashat []
Various updates:

* Fix build with Visual Studio, updating projects to Visual Studio 2019 (as that is what I have installed).
* Changed C++ language standard to C++ 17.
* Add files for in_2sf's spu from Coda's recent commit.
* Add files for zlib now that it is being included as a submodule (removes the need for the zlib DLL as well).
* Remove common.props (due to the aforementioned zlib inclusion as well as the winamp headers also being in the project now).
* Minor NCSF file in the SSEQ player, the check for when to process tracks should've been >=, not >.

5 years agoMerge pull request #5 from ahigerd/master
Naram Qashat []
Merge pull request #5 from ahigerd/master

Update for modern compilers, update 2sf core, add MSVC cross-compile support

5 years agouse .PHONY instead of FORCE
Adam Higerd []
use .PHONY instead of FORCE

5 years agoswitch to git submodule for zlib
Adam Higerd []
switch to git submodule for zlib

5 years ago2sf: fix JIT enable, fix sample rate
Adam Higerd []
2sf: fix JIT enable, fix sample rate

5 years agofix mingw build, clean up new warnings
Adam Higerd []
fix mingw build, clean up new warnings

5 years agoadd sharp interpolator option, fix makefile dependencies
Adam Higerd []
add sharp interpolator option, fix makefile dependencies

5 years agoupdate for C++17 compliance, update to latest 2sf, add WINE cross-compile makefiles
Adam Higerd []
update for C++17 compliance, update to latest 2sf, add WINE cross-compile makefiles

6 years ago[Framework] Super minor cleanups.
Naram Qashat []
[Framework] Super minor cleanups.


6 years ago[NCSF] Super minor cleanups.
Naram Qashat []
[NCSF] Super minor cleanups.


6 years ago[NCSF] Minor possible fix in sample increment
Naram Qashat []
[NCSF] Minor possible fix in sample increment

* While I am unsure if this would've ever happened, this will prevent the locations from being out-of-bounds.

6 years ago[NCSF] Enable portamento when setting those registers.
Naram Qashat []
[NCSF] Enable portamento when setting those registers.

(Thanks to Coda Highland for the fix.)

6 years ago[NCSF] <stdexcept> is actually needed...
Naram Qashat []
[NCSF] <stdexcept> is actually needed...

(It probably never triggered any errors in the past because of it being implicitly included by some other header file.)

6 years ago[NCSF] Fix PSG output.
Naram Qashat []
[NCSF] Fix PSG output.

* Changed the base timer and actually utilize the note number from the note definition even for PSG. Thanks to Kurausukun for informing me about the issue and helping to provide a sample to demonstrate the issue.
* Correct the frequency output in the debug sound view (using DeSmuME's method directly resulted in frequencies that were 3 octaves higher than what they should have been).

6 years ago[NCSF] Small typo (or rather non-removal) in the previous fix
Naram Qashat []
[NCSF] Small typo (or rather non-removal) in the previous fix


6 years agoMerge remote-tracking branch 'origin/master'
Naram Qashat []
Merge remote-tracking branch 'origin/master'


6 years agoPrevent .vs from being committed
Naram Qashat []
Prevent .vs from being committed


6 years ago[NCSF] Apply channel modulation fix from fincs
Naram Qashat []
[NCSF] Apply channel modulation fix from fincs


8 years agoMerge pull request #2 from zeromus/patch-1
Naram Qashat []
Merge pull request #2 from zeromus/patch-1

Update XSFPlayer_2SF.cpp

8 years agoUpdate XSFPlayer_2SF.cpp
zeromus []
Update XSFPlayer_2SF.cpp

Make it substantially more obvious how to hack the 2sf player to output at a different samplerate by removing the secret implicit 44100 based calculation

11 years ago[NCSF] Update version and README for the previous change.
Naram Qashat []
[NCSF] Update version and README for the previous change.

11 years agoFix unsigned underflow with a loop offset of 0 on an ADPCM SWAV.
Naram Qashat []
Fix unsigned underflow with a loop offset of 0 on an ADPCM SWAV.

Also a minor optimization when reading the SWAVs.

11 years ago[NCSF] Update README file for the previous 2 commits.
Naram Qashat []
[NCSF] Update README file for the previous 2 commits.

11 years ago[NCSF] Applied sinc modification from kode54:
Naram Qashat []
[NCSF] Applied sinc modification from kode54:

Sinc mode should not scale the window, just the sinc pulse.

11 years ago[NCSF] Utilize the PLAYER blocks in the SDAT if they exist.
Naram Qashat []
[NCSF] Utilize the PLAYER blocks in the SDAT if they exist.

Backwards compatibility is kept by treating the lack of PLAYER info as
if all channels are able to be allocated.

11 years ago[NCSF] Very minor cleanups.
Naram Qashat []
[NCSF] Very minor cleanups.

11 years ago[2SF] A few commits from the asmjit project.
Naram Qashat []
[2SF] A few commits from the asmjit project.

11 years ago[NCSF] Bump version number for the previous fixes.
Naram Qashat []
[NCSF] Bump version number for the previous fixes.

11 years agoAdding a .gitignore to stop git from trying to version certain files.
Naram Qashat []
Adding a .gitignore to stop git from trying to version certain files.

11 years ago[NCSF] Documented what FSS functions were originally used.
Naram Qashat []
[NCSF] Documented what FSS functions were originally used.

* Changed default of modDelay to 0.
* Also minor cleanup.

11 years ago[NCSF] Reversed the order of the PSG and Noise channel allocations.
Naram Qashat []
[NCSF] Reversed the order of the PSG and Noise channel allocations.

This was suggested by fincs as the proper way to fix channels being
cutoff incorrectly.
(Also moved volume assignment so it was less duplicated.)

11 years ago[NCSF] Changed sinc interpolation to a Nuttall 3-term Window on suggestion from kode54.
Naram Qashat []
[NCSF] Changed sinc interpolation to a Nuttall 3-term Window on suggestion from kode54.

11 years ago[NCSF] Fixed unintentional infinite loop in the previous attack rate calculation fix.
Naram Qashat []
[NCSF] Fixed unintentional infinite loop in the previous attack rate calculation fix.

11 years ago[NCSF] Changes to the Sound View debug window:
Naram Qashat []
[NCSF] Changes to the Sound View debug window:
* No longer has the hold/busy items.
* Source Address replaced with State.

11 years ago[NCSF] Partial fix to channels being unintentionally cut off.
Naram Qashat []
[NCSF] Partial fix to channels being unintentionally cut off.

11 years ago[NCSF] Minor correction to the attack rate calculation.
Naram Qashat []
[NCSF] Minor correction to the attack rate calculation.

(Basically, it should never allow the same volume level as the previous
calculation.)

11 years ago[NCSF] Corrected attack rate calculation.
Naram Qashat []
[NCSF] Corrected attack rate calculation.

11 years ago[NCSF] Minor edit with the debug Sound View so it doesn't use a reference.
Naram Qashat []
[NCSF] Minor edit with the debug Sound View so it doesn't use a reference.

11 years ago[NCSF] Bump version number for the previous volume fixes.
Naram Qashat []
[NCSF] Bump version number for the previous volume fixes.

11 years ago[NCSF] One more volume fix, the default volume is 127, not 64.
Naram Qashat []
[NCSF] One more volume fix, the default volume is 127, not 64.

11 years ago[NCSF] Correctly handle the SSEQ volume from the INFO block.
Naram Qashat []
[NCSF] Correctly handle the SSEQ volume from the INFO block.

11 years ago[NCSF] REALLY remove minor instance of variable shadowing.
Naram Qashat []
[NCSF] REALLY remove minor instance of variable shadowing.

11 years ago[NCSF] Remove minor instance of variable shadowing.
Naram Qashat []
[NCSF] Remove minor instance of variable shadowing.

11 years ago[NCSF] Move track allocation into the SSEQ command handler.
Naram Qashat []
[NCSF] Move track allocation into the SSEQ command handler.

This was suggested by fincs after I found some sequences that appeared
to do track allocations later in them than expected originally.

11 years ago[NCSF] Minor code changes to reduce code duplication.
Naram Qashat []
[NCSF] Minor code changes to reduce code duplication.

* Made a function in the Override struct to centralize where it
determines whether to use the override value or not.
* Made a function that returns the number of bytes that a command needs,
and used that to remove all the conditionals for processing a command to
instead handle that within the IF command itself.
Thanks to fincs and Henke37 for the suggestions to do this.

11 years ago[NCSF] Implemented the random, variable, and conditional commands. Also fixed loop counter.
Naram Qashat []
[NCSF] Implemented the random, variable, and conditional commands. Also fixed loop counter.

11 years agoReverted the sound changes back to the original FSS code, but with the fix to clamp the total volume.
Naram Qashat []
Reverted the sound changes back to the original FSS code, but with the fix to clamp the total volume.

Also commented out the code that uses the SSEQ's volume, it seems as if
the DS doesn't use it so I probably shouldn't be using it either.

11 years ago[NCSF] Removed the Cnv_Scale function as it seemed to cause sounds to be too loud in some cases.
Naram Qashat []
[NCSF] Removed the Cnv_Scale function as it seemed to cause sounds to be too loud in some cases.

11 years ago[NCSF] Fix volume issues with a little help from the Nintendo DS SDK.
Naram Qashat []
[NCSF] Fix volume issues with a little help from the Nintendo DS SDK.

Also added a clone of DeSmuME's Sound View that is only build during a
debug build, which helped to identify the above issues.

11 years agoMade note of update to zlib 1.28. (Should actually say 1.2.8, but I'll fix that in the future.)
Naram Qashat []
Made note of update to zlib 1.28. (Should actually say 1.2.8, but I'll fix that in the future.)

11 years ago[NCSF] Should've updated the version number before.
Naram Qashat []
[NCSF] Should've updated the version number before.

11 years ago[NCSF] Minor comment fix from the previous NCSF commit.
Naram Qashat []
[NCSF] Minor comment fix from the previous NCSF commit.

11 years ago[2SF] Update from asmjit.
Naram Qashat []
[2SF] Update from asmjit.

11 years ago[NCSF] Interpolation changes:
Naram Qashat []
[NCSF] Interpolation changes:

* Removed Cosine, 4-Point B-Spline, 6-Point B-Spline, and 6-point
Osculating.
* Added 4-Point Legrange and 6-Point Legrange.
* Changed wording of the Sinc interpolation to mention that it is
16-point.

11 years agoRemoving this file as it doesn't help since common.props is already tracked, trying another route.
Naram Qashat []
Removing this file as it doesn't help since common.props is already tracked, trying another route.

11 years agoTrying to get git to ignore changes I make to common.props in the future (have to be able to change it to build the DLLs).
Naram Qashat []
Trying to get git to ignore changes I make to common.props in the future (have to be able to change it to build the DLLs).

11 years agoThis should've never got committed as it was, oops.
Naram Qashat []
This should've never got committed as it was, oops.

11 years ago* Small Makefile changes.
Naram Qashat []
* Small Makefile changes.

* Removed a couple files that were not being used.
* Cleanups found with clang's -Weverything (and shutting it up about a
lot of things that were ridiculous, as well as ignoring some of the
warnings still coming up).

11 years ago[2SF] Minor edit of a preprocessor line.
Naram Qashat []
[2SF] Minor edit of a preprocessor line.

11 years agoLots of changes in regards to strings, as follows:
Naram Qashat []
Lots of changes in regards to strings, as follows:

* Removed my custom String class, as well as removed the really old
Unicode ConvertUTF, the UTF Converter, and the UTF Encode/Decode
functions.
* Replaced the above with using standard C++ std::wstring_convert and
std::codecvt_utf8.
* Added headers adapted from llvm's libc++ project for allowing the
above C++ classes to exist with GCC and Clang when libc++ isn't being
used.
* Used std::string over std::wstring whenever possible.
* Added header adapted from llvm's libc++ project to create special
versions of the ifstream and ofstream classes that would utilize _wfopen
on non-MSVC Windows compilers, so those compilers could access files on
Windows that use characters outside the current codepage.
* Removed the -static-libgcc and -static-libstdc++ flags from the
Makefile for non-MSVC builds. The generated DLLs will require extra DLLs
from either Cygwin or MinGW (whichever is used to compile), I've only
tested with MinGW and for some reason they crash Winamp on exit, I have
no idea why.

12 years agoSome recent fixes from asmjit.
Naram Qashat []
Some recent fixes from asmjit.

12 years agoReplaced the Makefile with one that handles things better.
Naram Qashat []
Replaced the Makefile with one that handles things better.

* g++ compiled DLLs seem to not be seen by Winamp when the
-static-libgcc and -static-libstdc++ flags are used.
* clang++ compiled DLLs seem to cause Winamp to crash on exit.

12 years ago* Fixes for gcc and clang (while they can compile the code, the DLLs made aren't functional, but oh well).
Naram Qashat []
* Fixes for gcc and clang (while they can compile the code, the DLLs made aren't functional, but oh well).

* [2SF] Used more up-to-date asmjit, despite the ugly looking code.

12 years ago[GSF] Copied a few things from kode54's viogsf.
Naram Qashat []
[GSF] Copied a few things from kode54's viogsf.

12 years agoFix compile issue with the last commit.
Naram Qashat []
Fix compile issue with the last commit.

12 years agoUse std::copy_n/std::fill_n instead of std::copy/std::fill where possible.
Naram Qashat []
Use std::copy_n/std::fill_n instead of std::copy/std::fill where possible.

12 years agoMinor cleanups in the framework.
Naram Qashat []
Minor cleanups in the framework.

12 years agoA few more cases of using #pragma once instead of include guards.
Naram Qashat []
A few more cases of using #pragma once instead of include guards.

12 years agoUse #pragma once instead of include guards.
Naram Qashat []
Use #pragma once instead of include guards.

12 years ago[SNSF] Make the SNSF sinc resampler use Lanczos instead.
Naram Qashat []
[SNSF] Make the SNSF sinc resampler use Lanczos instead.

12 years agoSomehow I've had the wrong include directory in the project files all this time, and thus was missing a file as well. Oops.
Naram Qashat []
Somehow I've had the wrong include directory in the project files all this time, and thus was missing a file as well. Oops.

12 years ago[2SF] Minor template removal.
Naram Qashat []
[2SF] Minor template removal.

12 years agoUpdating the VBA-M code to revision 1231.
Naram Qashat []
Updating the VBA-M code to revision 1231.

12 years agoReverted Sinc interpolation back to the Lanczos window.
Naram Qashat []
Reverted Sinc interpolation back to the Lanczos window.

13 years ago[SNSF] Replaced most uses of fill/copy with fill_n/copy_n, and a few other minor code cleanups.
Naram Qashat []
[SNSF] Replaced most uses of fill/copy with fill_n/copy_n, and a few other minor code cleanups.

13 years ago[SNSF] Massive code cleanup, as well as removing as much unused code/variables as possible.
Naram Qashat []
[SNSF] Massive code cleanup, as well as removing as much unused code/variables as possible.

13 years ago[GSF] Minor changes.
Naram Qashat []
[GSF] Minor changes.

13 years ago[GSF] Somehow these were not committed earlier.
Naram Qashat []
[GSF] Somehow these were not committed earlier.

13 years ago[GSF] Some more code cleanup, also removed a few files that were unneeded.
Naram Qashat []
[GSF] Some more code cleanup, also removed a few files that were unneeded.

13 years ago[GSF] Massive code cleanup.
Naram Qashat []
[GSF] Massive code cleanup.

(As an aside, blargg's code style makes me go blarg myself.)

13 years ago[GSF] Removed Types.h because all it really was doing now was including stdint.
Naram Qashat []
[GSF] Removed Types.h because all it really was doing now was including stdint.

13 years ago[GSF] Cleanup, a tiny bit of making sure it was like viogsf, also used the standard integer types and not VBA-M's typedefs.
Naram Qashat []
[GSF] Cleanup, a tiny bit of making sure it was like viogsf, also used the standard integer types and not VBA-M's typedefs.

13 years ago[GSF] Commented out SWI 3 (STOP), based on the last revision of Caitsith2's Highly Advanced GSF plugin, as he said it's not needed for GSFs and actually causes issues with GBS2GSF conversions that are longer than 5 minutes.
Naram Qashat []
[GSF] Commented out SWI 3 (STOP), based on the last revision of Caitsith2's Highly Advanced GSF plugin, as he said it's not needed for GSFs and actually causes issues with GBS2GSF conversions that are longer than 5 minutes.

13 years agoAdded common.props to the in_xsf_framework project.
Naram Qashat []
Added common.props to the in_xsf_framework project.

13 years agoAdded README file.
Naram Qashat []
Added README file.

13 years agoAdded Sinc resampler to SNSF plugin, as well as fixed issue with there being garbage at the start of an SNSF when played after one has finished.
Naram Qashat []
Added Sinc resampler to SNSF plugin, as well as fixed issue with there being garbage at the start of an SNSF when played after one has finished.

13 years ago* Replaced Lanczos window with Hann window for the windowed sinc function in the NCSF plugin.
Naram Qashat []
* Replaced Lanczos window with Hann window for the windowed sinc function in the NCSF plugin.
* Added a ring buffer specifically designed for working with SWAVs to replace the one provided by kode54, still have to give him thanks for the original though.
* Fixed clipping issue caused by invalid clamping values.
* Minor fix to using the min()/max() functions of numeric_limits because Winamp's out.h includes windows.h without my specific wrapper to redefine things.

13 years agoUpdate from FSS commits 39e6fa8 and 5204c55, guards ADSR against invalid values, these may not be 100% correct but they currently work as is.
Naram Qashat []
Update from FSS commits 39e6fa8 and 5204c55, guards ADSR against invalid values, these may not be 100% correct but they currently work as is.

13 years agoMinor update to scale the phase offset, thanks to kode54.
Naram Qashat []
Minor update to scale the phase offset, thanks to kode54.

13 years agoFixed up the Lanczos interpolation in NCSF (thanks to kode54), also allowed the NCSF plugin to use 32-bit samples in it's GenerateSamples function.
Naram Qashat []
Fixed up the Lanczos interpolation in NCSF (thanks to kode54), also allowed the NCSF plugin to use 32-bit samples in it's GenerateSamples function.

13 years agoAdded Lanczos interpolation to the NCSF plugin, and cleaned up a bit of the other code, as well as removing pstdint.h since it's no longer needed.
Naram Qashat []
Added Lanczos interpolation to the NCSF plugin, and cleaned up a bit of the other code, as well as removing pstdint.h since it's no longer needed.

13 years agoSome more code cleanup in DeSmuME.
Naram Qashat []
Some more code cleanup in DeSmuME.

13 years agoUpdated to latest DeSmuME SVN.
Naram Qashat []
Updated to latest DeSmuME SVN.

13 years agoSlight update from DeSmuME SVN and a bit more code style cleanup of the AsmJit stuff, since I think it's code style is ugly.
Naram Qashat []
Slight update from DeSmuME SVN and a bit more code style cleanup of the AsmJit stuff, since I think it's code style is ugly.

13 years agoRemoved a bunch of casts, they seem to be fine without them in most cases.
Naram Qashat []
Removed a bunch of casts, they seem to be fine without them in most cases.

13 years agoForgot to update the version number on the last commit.
Naram Qashat []
Forgot to update the version number on the last commit.

13 years agoImplemented circular interpolation buffer to fix interpolation, thanks to kode54 for the code.
Naram Qashat []
Implemented circular interpolation buffer to fix interpolation, thanks to kode54 for the code.