Commit Graph

205 Commits

Author SHA1 Message Date
Miku AuahDark 5f386cfa87 Implement audio probing to reduce audio false positive. 2022-05-01 17:01:50 +08:00
Alex Szpakowski e167a77994 Fix a couple error message typos 2022-04-22 19:38:17 -03:00
Alex Szpakowski c09fef8e79 Audio source decoding improvements.
- Streaming sources now also stream the file contents instead of loading it into memory, by default. Added a new stream type enum parameter to newSource ("file" or "memory").
- Audio file decoding now chooses the most appropriate decoder based on the file contents instead of the file extension.
- Videos now stream audio from the file instead of loading all of the video file into memory for use with audio decoding.
2022-04-21 19:57:32 -03:00
Alex Szpakowski 76193899b3 Fix compilation... 2022-04-18 20:53:46 -03:00
Alex Szpakowski bb9c342972 Remove unused GME sound decoder backend. 2022-04-18 20:41:55 -03:00
Alex Szpakowski 71a7aed441 minor cleanup of some audio decoder code. 2022-04-18 20:12:08 -03:00
Alex Szpakowski 7f3538d2ba Merge branch 'main' into 12.0-development 2022-01-05 21:10:27 -04:00
Alex Szpakowski 8e7fd10b6f Update copyright year for 2022 2021-12-31 18:33:40 -04:00
Alex Szpakowski 9b4aea8f17 Missed some copyright date updates 2021-04-07 20:34:24 -03:00
Alex Szpakowski 21f5ba86d3 Merge branch 'master' into 12.0-development 2021-04-07 20:33:44 -03:00
Alex Szpakowski f89aabb0bb Update copyright year for 2021 2021-04-04 16:14:45 -03:00
Miku AuahDark e8ddcdceb2 Fix copy on bit depth mismatch 2020-09-22 13:50:49 +08:00
Miku AuahDark 87e1955bcf Fix compare logic. 2020-09-22 13:09:33 +08:00
Miku AuahDark 04b20624b2 Add SoundData:slice
SoundData:slice(start, length = -1)

When length = -1, it will slice until the end.
2020-09-22 13:09:03 +08:00
Miku AuahDark e71441d68b Add SoundData:copyFrom
SoundData:copyFrom(src, srcStart, count, dstStart = 0)
2020-09-22 12:06:26 +08:00
Alex Szpakowski b8f20ed8db Merge pull request #5 from MikuAuahDark/replace-mpg123
Replace Mpg123 with dr_mp3
2020-02-16 18:34:07 -04:00
Miku AuahDark 7697f34c5d Fix compile error. 2020-02-16 16:01:28 +08:00
Miku AuahDark afd68a95a2 Remove more mpg123-related reference. 2020-02-16 14:42:54 +08:00
Miku AuahDark 2b03e25c65 Remove Mpg123 decoder files. 2020-02-16 14:35:36 +08:00
Miku AuahDark 1076ee6112 Add non-mpg123 MP3 decoder. 2020-02-16 14:25:40 +08:00
Miku AuahDark 851c2f315e Move dr_flac/dr_flac.h to dr/dr_flac.h 2020-02-16 14:00:45 +08:00
Alex Szpakowski 7684920f19 Merge branch 'master' into 12.0 2020-01-30 20:03:24 -04:00
Miku AuahDark 5a27742c34 FLAC: Update dr_flac to 0.12.3
Improved seeking for FLAC audio files.
2020-01-29 13:22:13 +08:00
Alex Szpakowski 5f9b5a21d0 Merge default into minor
--HG--
branch : minor
2020-01-03 22:45:36 -04:00
Alex Szpakowski fc4847c69d Update copyright for the new year 2020-01-03 22:40:36 -04:00
Alex Szpakowski 23db4f4a59 Remove functions that were deprecated in LÖVE 11.
--HG--
branch : minor
2019-12-20 00:45:20 -04:00
Alex Szpakowski fe2c204a2c Use Data:getFFIPointer instead of Data:getPointer for internal ImageData and SoundData FFI code. 2019-10-27 19:07:58 -03:00
Alex Szpakowski cb4b45dcf1 Add Data:getFFIPointer. Similar to Data:getPointer but returns a cdata pointer directly (or nil if the FFI isn't available).
It should be preferred instead of Data:getPointer because the latter uses lightuserdata which can't store more all possible memory addresses on some new arm64 architectures, when LuaJIT is used.
2019-07-20 10:47:58 -03:00
Alex Szpakowski e66ecd03a8 Minor code cleanup of FLAC decoder. 2019-06-25 20:19:27 -03:00
Miku AuahDark 65b01fc52f Re-enable FLAC codepath using dr_flac instead of libFLAC.
--HG--
branch : flac-audio
2019-06-17 16:09:46 +08:00
Alex Szpakowski 38cb56f168 Use doubles instead of floats for the time argument in Source:seek. This probably won't affect anything meaningfully, but in theory it's more precise. 2019-05-26 14:46:52 -03:00
Bart van Strien c4b21b6efe Try probing the audio type if extension matching fails (resolves #1487)
At the moment it still only tries a single decoder if it does find a matching extension. It might be a good idea to simply always probe, but try the matching decoder first, that way you could name your mp3 .ogg.
2019-05-04 11:35:41 +02:00
Bart van Strien 4662580059 Make sure the mpg123 decoder tries to read data on creation
So it can fail if it's not actually an mp3 file

Preparation for issue #1487
2019-05-04 11:26:16 +02:00
Bart van Strien bf5e3820bd Remove unused stored extension in Decoder
As preparation for issue #1487
2019-05-04 10:44:41 +02:00
Alex Szpakowski 69c47675b9 Add Decoder:clone. Resolves issue #1479. 2019-04-07 15:47:00 -03:00
Alex Szpakowski 0752f27bdf Update copyright year for 2019 2019-01-03 21:09:05 -04:00
Bart van Strien fd514d8176 Update some more copyright notices
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Bart van Strien ac12424bab Add optional channel parameter to SoundData:getSample/setSample (resolves #1346)
If omitted they work as before, if specified it handles the interleaving internally.

--HG--
branch : minor
2017-10-04 13:56:14 +02:00
Alex Szpakowski 90e86c329d Add love.data module.
- Moved love.math.compress / decompress / decode / encode / hash to love.data.
- Changed love.data.compress/decompress to take the format argument first instead of second.
- Added love.data.newDataView. Returns a read-only subsection of an existing Data object.
- Added love.data.newByteData. Mostly useful in combination with LuaJIT's FFI as it has no extra methods currently.
- Added implementations of Lua 5.3's data packing APIs: love.data.packString / packData / unpack / getPackedSize.

Resolves issue #1336.
Resolves issue #1331.

--HG--
branch : minor
2017-09-24 19:25:27 -03:00
Alex Szpakowski fcd9f1526c Use different output messages for deprecated methods versus functions.
--HG--
branch : minor
2017-08-27 16:55:33 -03:00
Alex Szpakowski d8eb6e6012 Rename PrismaticJoint/RevoluteJoint:hasLimitsEnabled to areLimitsEnabled and deprecate the old methods (resolves issue #1324).
--HG--
branch : minor
2017-08-27 16:18:54 -03:00
Alex Szpakowski bf6983beac Rename Source/SoundData/Decoder:getChannels to getChannelCount (resolves issue #1307). Deprecate the old methods rather than completely removing them.
--HG--
branch : minor
2017-08-27 14:40:46 -03:00
Alex Szpakowski 01fe2c5df2 Fix FLAC decoder code to compile if someone uncomments it. Resolves issue #1322.
--HG--
branch : minor
2017-08-10 20:29:02 -03:00
Alex Szpakowski 34ebe18f14 Use luaL_check/optinteger instead of luaL_check/optnumber when getting integer arguments to functions. Resolves issue #1251.
--HG--
branch : minor
2017-07-16 12:17:50 -03:00
Raidho 8572a33880 Prettifyed the code exploiting inheritance rules
added missing comma, added missing `override`

--HG--
branch : minor
2017-02-10 18:36:47 +03:00
Raidho 6ea1ebde9c Data:clone ported to minor
minor tweaks

--HG--
branch : minor
2017-02-10 06:19:53 +03:00
Alex Szpakowski abb72cb813 Happy new year! 🥂
--HG--
branch : minor
2017-01-02 01:28:29 -04:00
Bart van Strien 9f6aa716fa Pass Type to luax_register_type by pointer instead of reference
Since the type is passed to va_start, and apparently that's undefined behaviour if it's a reference.

<Textmode> the best kind of behavior

--HG--
branch : dynamiccore2
2016-11-14 21:51:47 +01:00
Bart van Strien d967a755e5 Make love::Type handle type names
TODO: Fix undefined behaviour in luax_register_type, you can't use a va_list after a reference type

--HG--
branch : dynamiccore2
2016-11-14 21:06:53 +01:00