Commit Graph

248 Commits

Author SHA1 Message Date
Jack Andersen 4c2a262478 Removed redundant NDEBUGs 2017-12-22 19:35:55 -10:00
Jack Andersen 5caf6bf017 Remove optional.hpp dependency 2017-12-06 18:06:35 -10:00
Jack Andersen 89233e98b5 Use sqrt() in pan law 2017-11-28 00:05:59 -10:00
Jack Andersen b890a76e20 Adjust 7.1 pan law 2017-11-27 17:38:58 -10:00
Jack Andersen 3c7cf5515f Voice lifetime and emitter bug fixes 2017-11-27 16:44:35 -10:00
Jack Andersen ebe6f18898 MIDIToSong bug fix 2017-11-26 19:04:13 -10:00
Jack Andersen cab7402104 Don't keyoff on non-trapped, non-looping macros 2017-11-21 00:35:38 -10:00
Jack Andersen 75830dc6dd string_view refactor 2017-11-12 20:15:33 -10:00
Jack Andersen 4b2b86f420 Emitter bug fixes and test macro for amuseplay 2017-09-19 23:22:46 -10:00
Jack Andersen c6781df90a Implement listener, emitter, and -3dB pan law 2017-09-18 17:59:20 -10:00
Tom M 4e7c31849d Minor fixes (#6)
* cmake: require c++14

* correctly clip samples

by using numeric_limits rather than C macros

* oops, implicit type conversion of template causes overflow

* store default sample rate in global constexpr var
2017-06-17 16:48:52 -10:00
Jack Andersen 3d56d5f0cc MIDI encoder fix 2017-03-23 19:28:05 -10:00
Phillip Stephens 54bbc7399a Use std::fabs instead of std::fabsf 2017-02-28 21:36:58 -08:00
Jack Andersen a23af16349 Add sequencer fade times 2017-02-26 19:24:58 -10:00
Jack Andersen 5c8fa2e8ab New engine event interface 2017-02-14 20:01:39 -10:00
Jack Andersen aff8880595 Better volume handling 2017-02-05 17:21:38 -10:00
Jack Andersen 2e7345f11d Add info structures for holding effect parameters 2017-01-22 21:21:50 -10:00
Jack Andersen ecd990e94e Remove VolumeLUT; SoundMacro mixing appears to be linear 2017-01-10 20:54:40 -10:00
Jack Andersen 2836e73812 Add some reserve() calls 2016-12-29 20:36:17 -10:00
Jack Andersen df167556fb Emitter API tweak 2016-12-28 19:52:28 -10:00
Phillip Stephens 72d0df7d46 Silence double->float conversion warning 2016-12-21 10:42:32 -08:00
Jack Andersen 1dfdf4c392 Update amuse-boo interface 2016-12-13 15:09:48 -10:00
Jack Andersen 9cf96ad6f9 Windows fixes 2016-12-10 15:52:42 -10:00
Jack Andersen eb948dfd63 Add bounds checking to SoundMacro execution loop 2016-12-07 18:54:45 -10:00
Phillip Stephens c886bfd7d2 FreeBSD fixes 2016-10-27 15:48:12 -08:00
Jack Andersen 7cb7ed73ea Remove unnecessary and RVO-detrimental moves 2016-10-02 18:38:08 -10:00
Phillip Stephens af68ee61e1 Remove debug print 2016-09-02 13:05:58 -07:00
Phillip Stephens b40b2c031a Better temp file handling 2016-09-02 13:00:56 -07:00
Phillip Stephens aa32ff7e84 Add LZO support for MP2 audio groups 2016-09-02 12:52:17 -07:00
Jack Andersen a048605011 Support for loading revised Factor5 N64 ROMs 2016-07-18 12:38:28 -10:00
Jack Andersen 2a2a16fd17 Typing refinements for song events 2016-07-17 11:23:29 -10:00
Jack Andersen b421412cac Add lookup table for Rogue Squadron SNG Setup mappings 2016-07-16 11:55:13 -10:00
Jack Andersen 5bae40d3c3 Handle additional corner cases for getChanProgram 2016-07-14 09:42:54 -10:00
Jack Andersen e2581cea8b Better master volume lookup 2016-07-13 20:36:12 -10:00
Jack Andersen d602fbacd3 Added master volume API for entire engine 2016-07-13 20:16:00 -10:00
Jack Andersen 2dcb9dd1c7 Working Studio implementation 2016-07-13 18:54:46 -10:00
Jack Andersen d3d5595422 Initial multiple-referencing submix refactor 2016-07-12 17:04:55 -10:00
Jack Andersen 596bc66ce6 Windows build fix 2016-07-07 09:37:50 -10:00
Jack Andersen 3a7b43a63a Mask out high bit on Tempo changes 2016-07-07 09:17:30 -10:00
Phillip Stephens feea7c2ecc Add PaperMario TTYD Song Group descs 2016-07-06 21:10:02 -07:00
Jack Andersen 52cba61f76 Refactored audio supply dispatch across two passes 2016-07-04 15:08:00 -10:00
Jack Andersen fe78a675d7 Change default volume to 80% to fill newfound headroom 2016-07-03 17:35:37 -10:00
Jack Andersen 3427515960 Add Starfox Adventures midi.wad support 2016-07-03 12:41:31 -10:00
Jack Andersen 5ad8c06b99 add SongState::DetectVersion for much less hacky version-detection 2016-07-02 11:50:38 -10:00
Jack Andersen e99dbc7e0a Initialization fix in SongConverter as indicated by valgrind 2016-06-30 09:30:13 -10:00
Jack Andersen d6b9d4fca1 PC SNG decoder fixes 2016-06-27 12:43:04 -10:00
Jack Andersen c7f093c5ee Minor adjustments to test PC SNG data extract 2016-06-27 11:02:10 -10:00
Jack Andersen 22a8534887 Support for N64 SNG Control and Program Change encoding 2016-06-22 14:28:02 -10:00
Jack Andersen 0c606fa9b7 Windows Fixes 2016-06-22 12:15:53 -10:00
Jack Andersen a0241574ba Plenty of SongConverter bug fixes 2016-06-22 11:43:45 -10:00
Jack Andersen bd10015024 Work on MIDI-to-SNG conversion 2016-06-21 18:18:28 -10:00
Jack Andersen a0bb35433a Initial amuseconv implementation with SNG extraction 2016-06-20 20:40:13 -10:00
Jack Andersen 3bc47baa1d N64 SNG fixes 2016-06-19 22:08:32 -10:00
Jack Andersen 7666b51c50 Merge branch 'master' of https://github.com/AxioDL/amuse 2016-06-19 17:36:32 -10:00
Jack Andersen ee29fb4b1e Initial N64 SNG support; pitch-wheel fix 2016-06-19 17:35:57 -10:00
Jack Andersen ad23f9d0c4 Symbol pollution is bad for your health 2016-06-19 09:19:16 -10:00
Jack Andersen 7b9c7a4eb6 Page selection bug fixes; working drum pages 2016-06-16 12:18:17 -10:00
Jack Andersen 3521d94d1c VST bug fixes, still having some odd discontinuity issues 2016-06-14 14:36:25 -10:00
Jack Andersen fa3007b65c wchar_t support for key path handling functions on Windows 2016-06-12 19:47:07 -10:00
Jack Andersen 6f7a7405d7 Initial work on VST editor UI 2016-06-10 14:47:02 -10:00
Jack Andersen 57bb631f9b Minor variable fix 2016-06-08 15:26:29 -10:00
Jack Andersen ad784966e9 Merge branch 'master' of https://github.com/AxioDL/amuse 2016-06-08 15:25:42 -10:00
Jack Andersen e8c6418633 Default volume and pan CC values, MIDI controller ADSR mode 2016-06-08 15:22:18 -10:00
Jack Andersen 117d7046dd Initial working AudioUnit integration 2016-06-07 18:33:15 -10:00
Jack Andersen f260019b89 More AudioUnit integration 2016-06-06 17:42:51 -10:00
Jack Andersen 85b6f406f1 Add Sample and SFX tables 2016-06-05 12:37:49 -10:00
Jack Andersen 168c4d3cfd Container loading bug fixes, drag-n-drop support 2016-06-04 17:11:24 -10:00
Jack Andersen 9ae92313e3 Work on AudioUnit data UI 2016-06-03 16:34:35 -10:00
Jack Andersen 81bd897ec1 Work on AudioUnit 2016-06-02 16:53:52 -10:00
Jack Andersen 8930e005df Integrate relevant evaluators into Voice state 2016-06-01 16:28:48 -10:00
Jack Andersen e932539ec4 Properly advertise Sequencer tempo to voice SoundMacros 2016-06-01 11:32:48 -10:00
Jack Andersen a047b1f6c8 Add Channel-Portamento support 2016-06-01 11:17:16 -10:00
Jack Andersen d132b1be34 Support for effect sample-rate changes 2016-05-31 18:49:35 -10:00
Phillip Stephens 08de4873f4 Merge commit '40e808e' 2016-05-31 15:41:16 -07:00
Phillip Stephens 40e808e134 Add failsafe and .song extension 2016-05-31 15:40:09 -07:00
Jack Andersen 4b102388f1 Windows fixes 2016-05-31 12:25:05 -10:00
Jack Andersen b140b245d7 Merge branch 'master' of https://github.com/AxioDL/amuse 2016-05-31 12:16:46 -10:00
Jack Andersen 8edf43ad6e Add Win32 backtrace generator for temporary deployment-debugging 2016-05-31 12:09:38 -10:00
Jack Andersen 56f1bf7bff Minor engine lifetime fix 2016-05-31 11:40:24 -10:00
Jack Andersen b26ad4c446 Object lifetime fixes 2016-05-31 11:07:46 -10:00
Jack Andersen 16c105fadb Commit to test list iterator against STL with better asserts 2016-05-31 10:40:51 -10:00
Jack Andersen 0c8d8f571c Envelope command fixes, 20ms default envelope 2016-05-31 00:16:52 -10:00
Jack Andersen d5b50e3633 Fix HQ reverb, better submix/sequencer allocation 2016-05-30 19:15:20 -10:00
Jack Andersen 127aa283e9 Support for loading songs directly out of game containers 2016-05-30 12:46:43 -10:00
Jack Andersen d26a550ef8 ADPCM parameter copy fix 2016-05-29 12:57:02 -10:00
Jack Andersen 494a39e76a Support for absolute PROJ offsets introduced in Battle for Naboo 2016-05-29 08:22:20 -10:00
Jack Andersen 3056426afc Update AudioGroupData.cpp 2016-05-28 20:53:45 -10:00
Jack Andersen 80cc9f7c94 MusyX 1 compatibility fixes, Rogue Squadron N64 decoding confirmed 2016-05-28 18:31:58 -10:00
Jack Andersen 3ba25fd06a Linux build sync 2016-05-27 21:15:59 -10:00
Jack Andersen 5a9fd66dff Add N64-VADPCM decoder; DSP-ADPCM seamless loop fix 2016-05-27 16:28:59 -10:00
Jack Andersen 5bee3361b7 Fix in Rogue Squadron 3 detection 2016-05-26 19:44:41 -10:00
Jack Andersen 917e607df5 Refactor container loading in amuseplay 2016-05-26 19:30:43 -10:00
Jack Andersen 276b7823c2 Add unified ContainerRegistry class for detecting/loading game containers 2016-05-26 14:56:18 -10:00
Jack Andersen 3f0ea233bb More reliable voice management in Sequencer 2016-05-22 13:08:28 -10:00
Jack Andersen 654eccf82d Several CPU usage optimizations 2016-05-21 22:35:55 -10:00
Jack Andersen fbafa397fe Use -10dB RMS formula for amplitude computation 2016-05-21 13:41:45 -10:00
Jack Andersen d551b2b1c6 Add pan/span control to Voice backend 2016-05-21 11:40:03 -10:00
Phillip d06fa3f0dc Merge commit '2d3aa03' 2016-05-20 20:11:15 -07:00
Phillip 2d3aa03a51 Windows compile fixes 2016-05-20 20:10:39 -07:00
Jack Andersen e2ee8c550f Integrate -10dB volume curve 2016-05-20 15:15:31 -10:00
Jack Andersen 64ed5e2ea5 MIDI API refactor 2016-05-20 12:56:25 -10:00
Jack Andersen 2a5823d6de Add MIDI input for interactive sequencer playback 2016-05-19 20:17:02 -10:00
Jack Andersen 3a8a9f0ef2 Various engine bug fixes 2016-05-19 01:03:38 -10:00
Jack Andersen f2f11fee33 Merge branch 'master' of https://github.com/AxioDL/amuse 2016-05-19 00:13:47 -10:00
Jack Andersen 5245a41567 Timing and pitch fixes 2016-05-19 00:12:32 -10:00
Phillip Stephens 2c27d26090 Missing cmath include 2016-05-18 22:56:45 -07:00
Jack Andersen 2115a958b1 Timing fixes for SON playback 2016-05-18 19:27:39 -10:00
Jack Andersen 3433a70462 Initial SongState, timing is hilariously wrong ATM 2016-05-18 16:19:43 -10:00
Jack Andersen aedbc72766 Extra move assign logic 2016-05-17 15:01:37 -10:00
Jack Andersen a893ee61bb Move semantics for IntrusiveAudioGroupData 2016-05-17 14:59:44 -10:00
Jack Andersen b2fa66b738 Working soxr pitch-slewing 2016-05-16 17:47:12 -10:00
Jack Andersen 51892eccc1 Voice state fixes 2016-05-16 17:23:35 -10:00
Jack Andersen 970b7775ee Safer loop resolution for oddly-configured SAMPLESTARTs 2016-05-16 15:25:50 -10:00
Jack Andersen 91344aa917 RndNote fix 2016-05-16 14:41:44 -10:00
Jack Andersen 2192d45da1 Deallocation fixes and simplification 2016-05-16 12:13:24 -10:00
Jack Andersen 531961be78 Fix reverb issue 2016-05-16 11:00:37 -10:00
Jack Andersen e9213ab179 Working SongGroup player, DLS envelopes 2016-05-16 10:20:29 -10:00
Jack Andersen 44bb7a155b Bug fixes in sequencer and SoundMacro event trapping 2016-05-15 16:40:18 -10:00
Jack Andersen 2c3c9d3885 Work on Sequencer 2016-05-15 11:56:23 -10:00
Jack Andersen 18f3ce6f44 Work on Sequencer 2016-05-14 20:48:26 -10:00
Jack Andersen 1382a1e946 Working SFXGroup playback 2016-05-14 12:38:37 -10:00
Jack Andersen b1e7f66199 Fix iterator fail 2016-05-13 20:40:50 -10:00
Jack Andersen 2341b6b7d0 More fixes, better lifetime management 2016-05-13 20:33:21 -10:00
Jack Andersen ccc4290aaf Implement Submix::applyEffect 2016-05-13 18:53:53 -10:00
Jack Andersen bee8719d4e Refactors, bug fixes, lotsa things 2016-05-13 18:46:39 -10:00
Jack Andersen 1fb9ef3239 variable name tweaks and other minor adjustments 2016-05-12 15:55:24 -10:00
Jack Andersen 3d3869e30d Implement reverb effects 2016-05-12 15:46:41 -10:00
Jack Andersen 1d726ed179 Update Voice.cpp 2016-05-11 12:39:24 -10:00
Jack Andersen 233c53ac57 Merge branch 'master' of https://github.com/AxioDL/amuse 2016-05-11 11:31:00 -10:00
Jack Andersen e510a0ad84 Work on Voice state 2016-05-11 11:30:45 -10:00
Jack Andersen 02cfa9cf39 Update SurroundProfiles.cpp 2016-05-10 19:48:22 -10:00
Jack Andersen 1102d50f8f Work on Voice state and SurroundProfiles 2016-05-10 18:48:08 -10:00
Jack Andersen 60f873e76e Add MIDI-setup reading 2016-05-09 19:52:19 -10:00
Jack Andersen 04382030a1 AudioGroupProject loader and initial driver 2016-05-09 19:32:31 -10:00
Jack Andersen a62fa64fb5 OS X header include fixes 2016-05-09 17:03:26 -10:00
Jack Andersen 2b7dc66c2a initial driver entry point 2016-05-08 21:22:58 -10:00
Jack Andersen ae624795be Cleanups, fixes in effects 2016-05-08 20:24:24 -10:00
Jack Andersen 4353113649 Implement EffectDelay 2016-05-08 16:36:07 -10:00
Jack Andersen d1cb73bd3a Full Chorus implemenation 2016-05-08 12:38:51 -10:00
Jack Andersen d72e193715 Cleanup and algebraic reduction 2016-05-07 19:33:34 -10:00
Jack Andersen 7aad87ea8c Work on Chorus effect 2016-05-07 19:19:27 -10:00
Jack Andersen 3cce975977 Submix class and initial effects 2016-05-07 12:10:57 -10:00
Jack Andersen 708662c23e All relevant SoundMacros implemented, voice and engine tweaks 2016-05-06 11:22:39 -10:00
Jack Andersen 9860e3859c Lots of SoundMacro implementations 2016-05-05 19:19:19 -10:00
Jack Andersen fa66632b7c Add AudioGroup pool reading 2016-05-04 20:39:18 -10:00
Jack Andersen 022365030a Better voice id allocation 2016-05-03 19:19:13 -10:00
Jack Andersen 338df76711 Some SoundMacro command implementations 2016-05-02 19:16:37 -10:00
Jack Andersen fa8d9038df Initial stubs and basic Engine implementation 2016-05-02 15:16:26 -10:00