Comments (8)
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.
@fisyher and myself highly recommend this adaptation. As SharpDX is no longer in active development, do consider Vortice.Windows as an alternative.
from dtxmanianx.
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.
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.
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.
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.
Awesome, just feel free to merge whenever the FDK is ready. Anything extra will be added on the wishlist.
from dtxmanianx.
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)
- Null Exception encountered when playing DTXMania as a DTXViewer from DTXCreator
- DTXViewerNX crashes after moving to a different monitor. HOT 1
- Scroll Speed Graphics Indicator Limit
- Perceived scroll speed is not arcade accurate HOT 1
- Remove Loading Screen transition from DTXViewerNX
- Adding Fast Reload Songs Option in Config HOT 2
- Quick Config Overhaul
- Option to disable pitch shift when missing/strumming between notes on guitar HOT 1
- An option to change the window size of DTXViewerNX, as well as the scroll speed HOT 3
- *redacted* has been Detected HOT 2
- Bass Progress meter is on wrong side HOT 1
- "NEW RECORD" Texture doesn't appear when you get a new record on a song.
- DTXViewerNX doesn't pause video when playback is stopped by DTXCreatorNX
- DTXMania crashes when playing some similes in 6 lane mode
- left bass registers (the feedback shows) but also counts as miss
- Having this issue when playing on 6 Lane mode.
- Discord invite link on front page is invalid. HOT 3
- App crashes after every cleared stage screen. Stage Fail screen did't crash HOT 2
- Swappable Skin assets (Shutter, Notes, etc.)
- Combo Positioning/Size Options
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dtxmanianx.