1
0
Fork 0
Commit graph

29 commits

Author SHA1 Message Date
krcroft
91cd907c4e Migrate some members of the Player class to smart pointers
1. Moves the mutex and mixer channel members to unique pointers
2. Moves the trackFile to a weak pointer
3. Move member initialization to the class definition

This class still retains a raw *cd member, however fixing this
ripples up to the array of [26] CD images, and across more
code that generically deals with mount points; so this work
remains to do.
2020-03-04 05:11:40 +01:00
krcroft
d1a6f373cb Refactor CD-DA flow by removing intermediate buffers and loops
Thanks to @ripsaw8080 for insight into CD-DA channel mapping,
@hail-to-the-ryzen for testing and flagging a position-tracking bug,
and @dreamer_ for guidance and code review.

The CD-DA volume and channel mapping loops were moved to generic mixer
calls and no longer require a pre-processing loop:
 - Application-controlled CD-DA volume adjustment is now applied using
   an existing mixer volume scalar that was previously unused by the
   CD-DA code.
 - Mapping of CD-DA left and right channels is now applied at the tail
   end of the mixer's sample ingest sequence.

The following have been removed:
 - The CD-DA callback chunk-wise circular buffer
 - The decode buffers in the Opus and MP3 decoders
 - The decode buffer and conversion buffers in SDL_Sound
These removals and API changes allow the image player's buffer
to be passed-through ultimately to the audio codec, skipping multiple
intermediate buffers.
2019-11-12 08:16:53 +01:00
Peter Veenstra
1fbaff47fc Update year and address of FSF
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4183
2019-01-25 14:09:58 +00:00
Peter Veenstra
5bb10db88b Time keeps on ticking
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4109
2018-05-29 12:58:58 +00:00
Peter Veenstra
6cf39c1fc6 Years update
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4021
2017-05-30 11:35:08 +00:00
Sjoerd van der Berg
271d8cffa6 Updated header for mixer changes
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4003
2017-01-04 08:35:10 +00:00
Peter Veenstra
0f4c92ca32 Year update.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3878
2015-01-06 14:40:32 +00:00
Peter Veenstra
2fea508f7f Year update
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3812
2013-01-15 09:03:13 +00:00
Peter Veenstra
999f33de27 Update year. Remove CVS tags
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3700
2011-04-26 09:34:55 +00:00
Peter Veenstra
a78b2c4f8b Update year
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3548
2010-02-11 13:36:50 +00:00
Sjoerd van der Berg
f6def87e34 Include an extra scale factor in the mixer volume to be set by a device
Set the adlib device scale at 2.0


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3377
2009-04-28 21:48:24 +00:00
Sjoerd van der Berg
88caf1dc71 Add compiler testing for always_inline attribute
Add compiler testing for fastcall attribute
Add the FASTCALL define to visual c
Remove some overkill inline routines
Make sure that all the inline routines in headers are static


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3355
2009-04-25 16:25:03 +00:00
Sebastian Strohhäcker
ce5ef7a254 fix 16bit mixer handling on bigendian machines (sb16 hdma, cdda for cd images), also see sf patches #1284246 and #1989569
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3324
2009-03-19 20:45:42 +00:00
Sjoerd van der Berg
a590bad2d9 Add 32bit signed type for mixing
Change the mixer template to use a class type


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3322
2009-03-16 18:33:59 +00:00
Peter Veenstra
e08ea925b7 pedantic warnings.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3209
2008-08-24 16:43:06 +00:00
Sebastian Strohhäcker
0190a6e149 Silence a few warnings.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2964
2007-08-12 19:16:01 +00:00
Peter Veenstra
fdd16dea1a Happy New Year\!
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2728
2007-01-08 19:45:42 +00:00
Sebastian Strohhäcker
e11274fe6e add/fix some more soundblaster modes (Srecko)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2692
2006-08-25 09:40:19 +00:00
Sebastian Strohhäcker
be9a70adfd fix unsigned 16bit samples sb16 output
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2690
2006-08-21 20:08:26 +00:00
Peter Veenstra
df67775306 time passes on and on....
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2480
2006-02-09 11:47:57 +00:00
Peter Veenstra
224ef1a68b new include system + lot's of classes maintaining certain aspects of dosbox
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2140
2005-03-24 21:11:05 +00:00
Peter Veenstra
2094d8b985 Year update
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2106
2005-02-10 10:21:12 +00:00
Sjoerd van der Berg
27a331e73d New interpolating mixer routines
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1908
2004-08-23 08:04:25 +00:00
Peter Veenstra
ca409fd57c Typo in preamble
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1899
2004-08-04 09:12:57 +00:00
Sjoerd van der Berg
8e598829e8 Add new functions for finding specific channels
Changed the setting of channel volume


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1796
2004-05-12 08:20:52 +00:00
Peter Veenstra
fcbd0fe854 Copyright to 2004
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1552
2004-01-10 14:03:36 +00:00
Sjoerd van der Berg
3c9284193e Changes for new pc-speaker effects.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@849
2003-03-30 22:53:08 +00:00
Sjoerd van der Berg
a1fcb4b4c3 New pcspeaker functions
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@278
2002-09-16 13:21:35 +00:00
Sjoerd van der Berg
42e5d0b779 First CVS upload.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@80
2002-07-27 13:08:48 +00:00