Git Product home page Git Product logo

Comments (8)

ericpignet avatar ericpignet commented on May 25, 2024

I've been working on that for a while, trying to manually backport from Ver.K 4.10, with adaptations when needed.
See my branch: https://github.com/ericpignet/DTXmaniaXG/tree/sharpdx

I had to reorganise the directory structure to make the build process work, and to align with DTXMania and latest Ver.K.
I think it's better/clearer now, my only concern is that most files look deleted/recreated.

from dtxmanianx.

limyz avatar limyz commented on May 25, 2024

@fisyher and myself highly recommend this adaptation. As SharpDX is no longer in active development, do consider Vortice.Windows as an alternative.

from dtxmanianx.

fisyher avatar fisyher commented on May 25, 2024

SharpDX is a good choice as it is very stable and used in many projects.

Which library should we use to replace SoundDecoder?

from dtxmanianx.

tanabotadtx avatar tanabotadtx commented on May 25, 2024

Original dtxmania seems already removed SoundDecoder... (BASS.DLL is used instead of SoundDecoder)

There are mainly 2 commits to implement it;
https://osdn.net/projects/dtxmania/scm/git/dtxmania/commits/397438f86142fd5d0777977b67b4db3bd44c7a0a
https://osdn.net/projects/dtxmania/scm/git/dtxmania/commits/8cb598283e68b1b0fc3cc2e851b5637547842866

First one is to remove SoundDecider.dll, second one is to fix degrade (for keeping legacy support)

But it seems there are many commits about audio support.... it might be better to use whole source code of the latest original ones, instead of patching to our code.

from dtxmanianx.

limyz avatar limyz commented on May 25, 2024

Our fork uses Un4seen for audio support. As mentioned by tanabotadtx, BASS.NET is responsible for all audio processing.

DirectSound has been superseded by XAudio2. According to Low Latency Audio in the Windows Hardware documentation, we can natively use Windows 10's AudioGraph or WASAPI. ASIO should come from Steinberg.

from dtxmanianx.

ericpignet avatar ericpignet commented on May 25, 2024

I'm really following what was done in other DTXMania versions, not more.
SoundDecoder is replaced by:

  • BASS (from Un4seen) for MP3 and Ogg. See https://github.com/ericpignet/DTXmaniaXG/blob/sharpdx/FDK/Code/03.Sound/Cmp3ogg.cs (this class is coming straight from Ver.K 4.10)
  • BJXA for XA format. Same as DTXMania and Ver.K 4.10. What's good with this library is that it's free software, we can include the source code in the project, do changes if needed, rebuild with more recent compilers etc. Not one old Dll found somewhere on the internet.

I didn't know of Vortice.Window. Indeed that would be the best choice going forward, but this will be much more work than what I did (backporting the migration to SharpDX done by other version).
Migration to SharpDX is already a first step forward and made it possible to use recent .NET framework. Also our version of FDK becomes very close to Ver.K 4.10 so we can easily integrate fixes from them. That made it easy to backport the WASAPI Exclusive/Shared separate modes.
Let's keep Vortice in mind for the future.

Same for migration from DSound to XAudio2. I agree we should do that, but it's much more work than what I did (which was already not so easy as the commits in Ver.K were in the middle of tens of unrelated changes).

We can open another wishlist item for Vortice, and one for XAudio2 :-)

from dtxmanianx.

limyz avatar limyz commented on May 25, 2024

Awesome, just feel free to merge whenever the FDK is ready. Anything extra will be added on the wishlist.

from dtxmanianx.

ericpignet avatar ericpignet commented on May 25, 2024

OK, merged.
I recommend doing a fresh clone to get the new directory structure right.
Note that the folder renaming has not lost the history, you can see it with git log --follow or by clicking on blame in Github.

from dtxmanianx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.