Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AudioSource v2 API #1317

Merged
merged 82 commits into from
Nov 25, 2017
Merged
Show file tree
Hide file tree
Changes from 61 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
3dad001
Add a class for handling directed index ranges
uklotzde Jul 8, 2017
a942fe3
Rename "chunk" to "slice" for sample buffers
uklotzde Jul 8, 2017
67353de
Use loggers in CachingReader components
uklotzde Jul 8, 2017
f8e5ddc
Introduce AudioSource v2 API
uklotzde Jul 9, 2017
e1b6b07
Migrate SoundSources to the new v2 API
uklotzde Jul 13, 2017
baae34f
Disable failing test for SoundSourceFFmpeg
uklotzde Jul 20, 2017
661691b
Change naming of IndexRange members to avoid misunderstandings
uklotzde Jul 26, 2017
e1bcb82
Rename various member functions in IndexRange
uklotzde Jul 27, 2017
c713d3c
Optimize and test conversion mono -> stereo
uklotzde Jul 29, 2017
7d6c622
Use optimized function to adjust index ranges
uklotzde Aug 2, 2017
a02fa40
Improve versatility and safety of SampleBuffer and its companions
uklotzde Jul 30, 2017
36c51de
Introduce next abstraction level of the AudioSource API
uklotzde Jul 30, 2017
844cf35
Abort reading of sample data if not (yet) available and cached
uklotzde Aug 2, 2017
085ff55
Move common functionality from AudioSource into base class
uklotzde Sep 6, 2017
76215d2
Finalize the new AudioSource v2 API
uklotzde Sep 16, 2017
f32e4ef
Update literals and documentation of OpenResult enum
uklotzde Sep 17, 2017
23be952
Give SoundSources a 2nd chance to open unreadable files
uklotzde Sep 17, 2017
09f0e38
Fix wrong assertion
uklotzde Sep 25, 2017
6d94410
Remove ability to 'skip' from public AudioSource API
uklotzde Oct 4, 2017
a0cdbff
Hide more implementation details from the public AudioSource API
uklotzde Oct 4, 2017
06bbc86
Extract all pure virtual functions into source interfaces
uklotzde Oct 5, 2017
000441f
Consolidate sample buffers classes
uklotzde Oct 17, 2017
a5f4729
Reorder code for parsing track metadata and cover art
uklotzde Oct 17, 2017
e4bd431
Enclose sample buffering classes into namespace 'mixxx'
uklotzde Oct 19, 2017
8d3b5c9
Align and extend APIs for buffering samples
uklotzde Oct 19, 2017
7aebcfe
Replace some include guards with #pragma once
uklotzde Oct 19, 2017
d375111
Fix naming and documentation of sample buffering
uklotzde Oct 19, 2017
1c7fe91
Fix Windows build
uklotzde Oct 20, 2017
7a52da4
Rename IndexRange member functions
uklotzde Oct 20, 2017
4a445a9
More expressive Audio- and MetadataSource interfaces
uklotzde Oct 27, 2017
e323c74
Consistently use "sample rate" instead of "sampling rate"
uklotzde Oct 28, 2017
828c2f2
Use 'Duration' instead of 'double' for track metadata
uklotzde Oct 28, 2017
e2586c9
Reuse audio property types for track metadata
uklotzde Oct 28, 2017
5777283
Add new property classes for storing track metadata
uklotzde Oct 28, 2017
820d086
Use new album/track info classes for storing track metadata
uklotzde Oct 28, 2017
4c4173b
Add tagging for MusicBrainz track and album release identifiers
uklotzde Oct 28, 2017
2daa790
Support both artist/release MusicBrainz identifiers
uklotzde Oct 29, 2017
b382524
Add tagging support for MusicBrainz Release Group identifier
uklotzde Oct 29, 2017
43b4cd9
Simplify parsing of ID3v2 TXXX frames
uklotzde Oct 29, 2017
bd4a2d2
Code cleanup
uklotzde Oct 29, 2017
2b1ecda
Add tagging support for various fields
uklotzde Oct 29, 2017
a51f666
Split AudioSource into reader interface and abstract base class
uklotzde Oct 29, 2017
bc32b72
Fix Windows build
uklotzde Oct 29, 2017
f9a5364
Explicitly initialize const member
uklotzde Oct 29, 2017
dddc728
Fix chromaprint calculations
uklotzde Nov 3, 2017
42184da
Explicitly define the internal number of channels for the engine
uklotzde Nov 3, 2017
0db7619
Programmatic distinction between ChannelLayout and ChannelCount
uklotzde Nov 3, 2017
d72fb9f
Collect track db properties in TrackRecord
uklotzde Nov 3, 2017
f239392
Use TrackRecord in Track object
uklotzde Nov 3, 2017
b1a8328
Shift code from overloaded Track object into TrackRecord
uklotzde Nov 3, 2017
03222e3
Export track metadata only if it has been modified (still disabled)
uklotzde Nov 4, 2017
a02cffd
Prepare next level of metadata synchronization
uklotzde Nov 4, 2017
30a8251
Reorder and optimize code for exporting track metadata
uklotzde Nov 4, 2017
0985786
Add a flag for explicitly requesting to save/export track metadata
uklotzde Nov 4, 2017
10f2f81
Improve code for implicitly exporting/saving track metadata
uklotzde Nov 4, 2017
9bd0c33
Use "import"/"export" for track metadata synchronization
uklotzde Nov 5, 2017
b1d7fb2
More renamings to improve consistency
uklotzde Nov 5, 2017
38e8e21
Remove unneeded file I/O and leave a NOTE
uklotzde Nov 6, 2017
1b4af53
Rename member function (once again)
uklotzde Nov 6, 2017
6faefb5
Delete obsolete comments and warnings
uklotzde Nov 6, 2017
bdef9be
Minor code reorderings
uklotzde Nov 6, 2017
e3bedc5
Merge branch 'master' into audiosourcev2
uklotzde Nov 19, 2017
9420f2a
Merge branch 'master' into tmpv2
uklotzde Nov 19, 2017
51cefc5
Improve API of ReadAheadSampleBuffer
uklotzde Nov 19, 2017
124df54
Improve API and documentation of Readable-/WritableSampleFrames
uklotzde Nov 19, 2017
70b341c
Fix reliable detection of FAAD2 version on Fedora 27 / SCons 2.5.1
uklotzde Nov 19, 2017
a54db81
Fix awkward and fatal confusion between FIFO and LIFO order!!!
uklotzde Nov 19, 2017
19da4ce
Add comment about the remaining capacity of sample buffer
uklotzde Nov 19, 2017
445a48b
Rename parameters
uklotzde Nov 19, 2017
de761e3
Fix detection of FAAD2 version 2.7
uklotzde Nov 19, 2017
b7566c3
Replace readFromTail() with dropFromTail()
uklotzde Nov 20, 2017
a257340
Reorder #include directives
uklotzde Nov 20, 2017
407b7f2
Re-add missing #include directive
uklotzde Nov 20, 2017
9382025
Merge branch 'master' into audiosourcev2
uklotzde Nov 20, 2017
755d55b
Merge branch 'master' into audiosourcev2
uklotzde Nov 23, 2017
ee517e3
Use "length" for both slices and ranges
uklotzde Nov 25, 2017
8822348
Add a utility function to reduce nesting of member function calls
uklotzde Nov 25, 2017
66eaa75
Align function signatures of length() and data()
uklotzde Nov 25, 2017
70e29d5
Clarify how ReadAheadSampleBuffer is intended to be used
uklotzde Nov 25, 2017
665cf61
Rename function: writeToTail() -> growForWriting()
uklotzde Nov 25, 2017
f63e2fa
Rename function: dropFromTail() -> shrinkAfterWriting()
uklotzde Nov 25, 2017
d6765cf
Rename function: readFromHead() -> shrinkForReading()
uklotzde Nov 25, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions build/depends.py
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,8 @@ def sources(self, build):
"errordialoghandler.cpp",

"sources/audiosource.cpp",
"sources/audiosourcestereoproxy.cpp",
"sources/metadatasourcetaglib.cpp",
"sources/soundsource.cpp",
"sources/soundsourceplugin.cpp",
"sources/soundsourcepluginlibrary.cpp",
Expand Down Expand Up @@ -1072,6 +1074,9 @@ def sources(self, build):
"track/trackmetadata.cpp",
"track/trackmetadatataglib.cpp",
"track/tracknumbers.cpp",
"track/albuminfo.cpp",
"track/trackinfo.cpp",
"track/trackrecord.cpp",

"mixer/auxiliary.cpp",
"mixer/baseplayer.cpp",
Expand Down Expand Up @@ -1137,8 +1142,7 @@ def sources(self, build):
"util/db/sqltransaction.cpp",
"util/sample.cpp",
"util/samplebuffer.cpp",
"util/singularsamplebuffer.cpp",
"util/circularsamplebuffer.cpp",
"util/readaheadsamplebuffer.cpp",
"util/rotary.cpp",
"util/logger.cpp",
"util/logging.cpp",
Expand All @@ -1147,6 +1151,7 @@ def sources(self, build):
"util/widgethider.cpp",
"util/autohidpi.cpp",
"util/screensaver.cpp",
"util/indexrange.cpp",

'#res/mixxx.qrc'
]
Expand Down
7 changes: 4 additions & 3 deletions build/features.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ def description(self):

def enabled(self, build):
build.flags['opengles'] = util.get_flags(build.env, 'opengles', 0)
return int(build.flags['opengles'])
return int(build.flags['opengles'])

def add_options(self, build, vars):
vars.Add('opengles', 'Set to 1 to enable OpenGL-ES >= 2.0 support [Experimental]', 0)

def configure(self, build, conf):
if not self.enabled(build):
return
if build.flags['opengles']:
build.env.Append(CPPDEFINES='__OPENGLES__')
if build.flags['opengles']:
build.env.Append(CPPDEFINES='__OPENGLES__')

def sources(self, build):
return []
Expand Down Expand Up @@ -246,6 +246,7 @@ def configure(self, build, conf):

def sources(self, build):
return ['sources/soundsourcecoreaudio.cpp',
'sources/v1/legacyaudiosourceadapter.cpp',
'#lib/apple/CAStreamBasicDescription.cpp']


Expand Down
6 changes: 4 additions & 2 deletions plugins/soundsourcem4a/SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,16 @@ Import('build')

m4a_sources = [
"soundsourcem4a.cpp",
"sources/audiosource.cpp",
"sources/metadatasourcetaglib.cpp",
"sources/soundsource.cpp",
"sources/soundsourceplugin.cpp",
"sources/audiosource.cpp",
"util/audiosignal.cpp",
"util/samplebuffer.cpp",
"util/singularsamplebuffer.cpp",
"util/readaheadsamplebuffer.cpp",
"util/sample.cpp",
"util/logger.cpp",
"util/indexrange.cpp",
"track/trackmetadata.cpp",
"track/trackmetadatataglib.cpp",
"track/tracknumbers.cpp",
Expand Down
Loading