bunnei
1028560b4c
Merge pull request #895 from lioncash/sink
...
sink_details: std::move std::function instances
2018-08-03 11:00:56 -04:00
Lioncash
07a3c8a2a5
audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototype
...
This makes the Buffer::Tag usage consistent with the Stream class's
prototype of GetTagsAndReleaseBuffers().
2018-08-02 05:18:32 -04:00
Lioncash
881380bc97
sink_details: Deduplicate long std::function repetition
...
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-01 23:56:02 -04:00
Lioncash
5061e89fd1
sink_details: std::move std::function instances
...
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-01 23:50:48 -04:00
bunnei
14d9b2d6d3
audio_core: Add configuration settings.
2018-07-31 22:38:42 -04:00
bunnei
0ba0cdbed9
audio_core: Implement Sink and SinkStream interfaces with cubeb.
2018-07-30 21:45:24 -04:00
bunnei
f1f3a65391
audio_core: Add interfaces for Sink and SinkStream.
2018-07-30 21:45:24 -04:00
bunnei
02472448da
audio_core: Misc. improvements to stream/buffer/audio_out.
2018-07-30 18:58:40 -04:00
bunnei
fa8e381b3e
audio_core: Add initial code for keeping track of audout state.
2018-07-27 22:33:31 -04:00
James Rowe
5dbd091a80
Massive removal of unused modules
2018-01-12 19:11:03 -07:00
B3n30
1b2aa3780d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
bunnei
9b8fff5568
audio: Log dropping frames as trace to reduce spam.
2018-01-07 16:52:59 -05:00
Huw Pascoe
da1c8d1522
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
Subv
3532957099
Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16).
...
The current code inserts and deletes elements from the beginning of the audio buffer, which is very inefficient in an std::vector.
Profiling was done using VisualStudio2017's Performance Analyzer in Super Mario 3D Land.
Before this change: AudioInterp::Linear had 14.14% of the runtime (inclusive) and most of that time was spent in std::vector's insert implementation.
After this change: AudioInterp::Linear has 0.36% of the runtime (inclusive)
2017-09-25 18:31:37 -05:00
MerryMage
cbb31422b7
interpolate: Interpolate on a frame-by-frame basis
2017-08-28 10:54:41 +01:00
Yuri Kunde Schlesner
f9a960614d
CMake: Add SoundTouch include path to target property
2017-05-27 22:09:28 -07:00
Yuri Kunde Schlesner
d84915c4a1
CMake: Define an interface target for SDL2 definitions
2017-05-27 21:38:49 -07:00
Yuri Kunde Schlesner
b78ce2bce5
CMake: Correct inter-module dependencies and library visibility
...
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
03ad0ec0e5
DSP: Create backing memory for entire DSP RAM
...
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Mat M
dc1927a9d1
Doxygen: Amend minor issues ( #2593 )
...
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
2017-02-26 17:58:51 -08:00
Jake Merdich
38dfe42ad9
Support looping HLE audio ( #2422 )
...
* Support looping HLE audio
* DSP: Fix dirty bit clears, handle nonmonotonically incrementing IDs
* DSP: Add start offset support
2017-01-29 23:52:25 -08:00
noah the goodra
0adb56a6b2
fixed the override warning
...
```
In file included from citra/src/audio_core/sink_details.cpp:11:
citra/src/./audio_core/sdl2_sink.h:25:10: warning: 'SetDevice' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
void SetDevice(int device_id);
^
citra/src/./audio_core/sink.h:39:18: note: overridden virtual function is here
virtual void SetDevice(int device_id) = 0;
^
```
2017-01-27 14:24:14 -06:00
Kloen Lansfiel
637f58dd1e
SDL: Select audio device ( #2403 )
...
* Initial Commit
Added Device logic to Sinks
Started on UI for selecting devices
Removed redundant import
* Audio Core: Complete Device Switching
Complete the device switching implementation by allowing the output
device to be loaded, changed and saved through the configurations menu.
Worked with the Sink abstraction and tuned the "Device Selection"
configuration so that the Device List is automatically populated when
the Sink is changed.
This hopefully addresses the concerns and recommendations mentioned in
the comments of the PR.
* Clean original implementation.
* Refactor GetSinkDetails
2017-01-25 22:33:26 -05:00
Lioncash
dc6a23e0f6
time_stretch: Add missing #pragma once directive
2016-12-12 19:16:46 -05:00
Lioncash
b0ebdfae34
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
MerryMage
b5cfe1d2f4
audio_core: SelectSink should default to auto if sink_id is invalid
2016-12-10 01:26:22 +00:00
freiro
f5b928c330
Improve verbosity of audio errors with SDL_GetError()
2016-11-22 17:28:11 +01:00
Ricardo de Almeida Gonzaga
07fdcf150d
Fix typos
2016-10-20 12:26:59 -02:00
Yuri Kunde Schlesner
fa5d9d8266
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
1138ec0d49
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
1e4a5da9f4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
628ed4376a
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
MerryMage
de4fa45fb5
audio_core: Tweak audio latency
2016-09-07 15:27:32 +01:00
fincs
61bde9974b
codec: Fix ADPCM distortion caused by incorrect nibble order
...
Closes #2049 .
Signed-off-by: MerryMage <MerryMage@users.noreply.github.com>
2016-09-03 14:06:25 +01:00
MerryMage
96febf8f85
audio_core: Add EnableStretching to interface so that one can toggle stretching on and off
2016-08-31 16:56:30 +01:00
MerryMage
559ca8ae8a
sink: Change EnqueueSamples to take a pointer to a buffer instead of a std::vector
2016-08-31 16:55:10 +01:00
MerryMage
ba0f27c797
DSP/HLE: Audio output
2016-05-19 07:25:26 +01:00
MerryMage
8a1bd3ee7a
DSP/HLE: Implement mixer processing
2016-05-19 07:24:39 +01:00
Maribel
be941f1ecf
AudioCore: Implement time stretcher ( #1737 )
...
* AudioCore: Implement time stretcher
* fixup! AudioCore: Implement time stretcher
* fixup! fixup! AudioCore: Implement time stretcher
* fixup! fixup! fixup! AudioCore: Implement time stretcher
* fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
* fixup! fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
2016-05-14 22:04:03 -04:00
Lioncash
bb6bae806e
source: Fix missing logging arguments
...
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
Alexander Laties
17e9bc5392
fixup simple type conversions where possible
2016-05-07 11:41:55 -04:00
bunnei
8417518330
Merge pull request #1736 from MerryMage/sdl2-sink
...
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
MerryMage
638de286c2
AudioCore: SDL2 Sink
2016-05-07 11:32:48 +01:00
bunnei
bc76985937
HLE: Fix recent DSP change for Visual Studio.
2016-05-07 00:54:31 -04:00
MerryMage
f0cc8dc9ed
DSP/HLE: Implement Source processing
2016-05-03 20:58:28 +01:00
MerryMage
aa47fc2406
Audio: Add sink selection to configuration files
2016-04-30 07:41:02 +01:00
MerryMage
80c798dec3
AudioCore: List of sink types
2016-04-30 07:39:48 +01:00
MerryMage
3e940fcc96
AudioCore: Implement NullSink
2016-04-30 07:39:37 +01:00
bunnei
6b9d36abb1
Merge pull request #1726 from MerryMage/read-write-region
...
AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion()
2016-04-29 12:18:26 -04:00
MerryMage
1e19d9c579
AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion()
2016-04-29 16:32:29 +01:00