Commit graph

103 commits

Author SHA1 Message Date
ce5ccfde70 Turn audio::duplicator into a track 2022-10-08 14:16:50 +03:00
f46b080a69 Support creating audio::recorder directly from samples 2022-10-08 14:05:13 +03:00
2c59879630 Support loading WAV audio 2022-10-07 23:40:03 +03:00
f617f50930 Implement loading raw audio tracks 2022-10-07 23:05:17 +03:00
227236568b Implement audio pause control 2022-10-07 22:03:27 +03:00
81fabbbf02 Add audio callback profiling 2022-10-07 15:28:30 +03:00
a80487abbc Add audio compressor knee 2022-10-07 13:09:49 +03:00
59f83aec12 Add audio compressor 2022-10-07 11:18:38 +03:00
e7d3bc45d1 Remove linear filter from volume control, use simple multiplication instead 2022-10-06 23:30:23 +03:00
bd16679b97 Implement stereo audio volume control 2022-10-06 16:24:42 +03:00
acc2fd486e Implement looping effect 2022-10-06 15:55:14 +03:00
63f7e9c32a Implement audio::duplicator properly (using recorder) 2022-10-06 15:45:39 +03:00
e4871da0c5 Add audio::recorder 2022-10-06 15:45:23 +03:00
9d58904a66 Add truncate effect 2022-10-06 15:17:46 +03:00
3e9814aee4 Add audio::duration type & use it for effect duration parameters 2022-10-06 15:02:47 +03:00
3890fa0b02 Make audio::stream::played() atomic 2022-10-06 13:51:35 +03:00
d19c93af33 Support retrieving the number of already played samples from a stream 2022-10-06 13:12:14 +03:00
62af785c08 Support retrieving length of a stream 2022-10-06 13:05:42 +03:00
bc1bbcb306 Rename volume attack -> smoothness 2022-10-06 12:41:31 +03:00
9b3afc9865 Use channel class for main audio output 2022-10-05 22:55:30 +03:00
26b44a9fa3 Make audio channel a separate class 2022-10-05 22:55:30 +03:00
cab34558ce Support replacing a mixing channel stream 2022-10-05 22:55:30 +03:00
bb31fe79c9 Add fade in & fade out effects 2022-10-05 22:55:30 +03:00
6c213f9c45 Add audio stereo aggregator 2022-10-05 22:55:30 +03:00
d346f7b50d Add audio stream duplication 2022-10-05 22:55:30 +03:00
65f71e54a8 Reimplement basic waveforms using a complex oscillator 2022-10-05 22:55:30 +03:00
61919a264e Add silence audio stream 2022-10-05 22:55:30 +03:00
94216ce638 Add volume control effect 2022-10-05 22:55:30 +03:00
b3e583283a Audio library rewrite: re-implement engine using SDL_Audio & change API 2022-10-05 22:55:28 +03:00
061c74ea54 Log number of sound mixing channels 2022-10-02 15:50:07 +03:00
4490123a64 Support dynamically changing 3d sound source position 2022-10-02 15:18:10 +03:00
3f758e845d Add 3d mono audio effect 2022-02-25 18:52:00 +03:00
df2003cbf6 Support locking audio via audio::engine 2022-02-25 14:53:12 +03:00
0fa0cbbc09 Support audio::stream on_stop callback 2022-02-25 14:52:48 +03:00
425d41eae4 Remove hardcoded value of 128 in favor of MIX_MAX_VOLUME macro in audio::engine 2022-02-25 14:52:17 +03:00
3feb2776c1 Support owning track data 2021-06-25 13:51:51 +03:00
dd40936769 Reduce audio buffer from 4 Kb to 1/4 Kb 2021-06-25 13:45:19 +03:00
e1f8958123 Audio track is_playing() bugfix 2021-04-20 15:19:00 +03:00
fdd57ba572 Mark audio stream as not playing when it ends 2021-02-20 21:55:24 +03:00
5e7aa7601d Pimpl declaration macros now define a make_pimpl(...) static helper function 2021-01-23 10:42:14 +03:00
e7cac4a618 Clang compilation fixes 2021-01-18 18:01:03 +03:00
325f90d7c8 Fix audio::track::size 2020-09-29 12:32:04 +03:00
342519003c Add audio::sample typedef to int16_t 2020-09-22 20:24:37 +03:00
ac8684faa3 Audio: query actual frequency & channels, initialize effects based on that 2020-09-22 20:20:48 +03:00
58a793af9d Rename audio::sample -> audio::track 2020-09-21 20:26:55 +03:00
fb4922c6e9 Explicitly request mp3 support in audio 2020-09-21 20:21:50 +03:00
ea170fdd70 Fix missing header 2020-09-21 20:21:36 +03:00
97518a0a4a Add simple echo effect 2020-09-21 12:25:24 +03:00
87681a036a Minor fixes 2020-09-21 12:25:09 +03:00
ec4db5c6cb Support auto-starting streams 2020-09-21 12:10:22 +03:00