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

Rekordbox removable device library feature #2119

Merged
merged 39 commits into from
Nov 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
83e1b45
Rekordbox library feature that reads tracks, playlists and folders fr…
ehendrikd May 24, 2019
90762a1
Rekordbox library feature that reads tracks, playlists and folders fr…
ehendrikd May 24, 2019
01427fe
Fixed Appveyor Linux build failure
ehendrikd May 24, 2019
c7e9757
Addressed technical comments from PR #2119
ehendrikd May 26, 2019
7503f98
Clang-format
ehendrikd May 26, 2019
5343d44
Addressed minor remarks
ehendrikd Aug 1, 2019
ba891b5
Addressed SQL case and pooled DB connection
ehendrikd Aug 3, 2019
4578f35
clang-format
ehendrikd Aug 3, 2019
633ef47
Addressed ASSERT, static casts, loop revisions, removed DB close
ehendrikd Aug 4, 2019
1276734
m_database removed, reconfig of global thread pool removed, new clang…
ehendrikd Aug 11, 2019
5ef1285
Removed .DS_Store from gitignore
ehendrikd Sep 2, 2019
ec5b2c7
Removed .DS_Store from gitignore
ehendrikd Sep 2, 2019
7b3950a
Fixed indented line
ehendrikd Sep 2, 2019
f418759
Fixed spelling mistakes
ehendrikd Sep 2, 2019
c8528c5
Link to github commit rather than file version
ehendrikd Sep 2, 2019
3c33ad5
Fix depends.py conflict
ehendrikd Sep 26, 2019
66f91a0
Update for correct default sorting
ehendrikd Sep 30, 2019
1089047
Fix Unicode string conversions
ehendrikd Sep 30, 2019
4352e11
Timing information (cues, hotcues, loops & beatgrids)
ehendrikd Sep 30, 2019
8876f5b
Add mp3guessenc lib
ehendrikd Sep 30, 2019
d38d966
Remove DS_Store files
ehendrikd Sep 30, 2019
3304696
Fix library.cpp conflict
ehendrikd Sep 30, 2019
67e5096
Add rekordboxfeature.h to library.cpp
ehendrikd Oct 1, 2019
9b12251
Fix AnalyzerSilence overwriting found Rekordbox memory cue
ehendrikd Oct 1, 2019
7baf504
clang-format
ehendrikd Oct 1, 2019
919c7d2
Use QStringList for HTML
ehendrikd Oct 1, 2019
c11daf8
Update for HTML loop
ehendrikd Oct 1, 2019
90c44b0
Revert cuecontrol.cpp
ehendrikd Oct 1, 2019
4e3c457
Update CoreAudio offsets
ehendrikd Oct 3, 2019
4084bfd
Fix mp3guessenc for Windows builds
ehendrikd Oct 3, 2019
f968418
Update mp3guessenc tags.c
ehendrikd Oct 3, 2019
cbe2080
Read hotcue colors and comments
ehendrikd Oct 11, 2019
8676e4f
Add Anlz cpp file
ehendrikd Oct 11, 2019
7228e2e
Fix cue label asserts
ehendrikd Oct 13, 2019
4c45692
ANLZ file update to fix crash when cues missing color bytes
ehendrikd Oct 14, 2019
133d1bc
Unicode support for cue comments
ehendrikd Oct 15, 2019
2abac5c
Disable temporarily setting hotcue colors
ehendrikd Oct 23, 2019
5efef6d
library.cpp conflict resolved
ehendrikd Nov 11, 2019
11a5729
Updates to compile with #2103
ehendrikd Nov 12, 2019
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
30 changes: 29 additions & 1 deletion build/depends.py
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,30 @@ def sources(self, build):
def configure(self, build, conf):
build.env.Append(CPPPATH="#lib/replaygain")

# For Rekordbox removable device binary database file parsing
class Kaitai(Dependence):

def sources(self, build):
return ["lib/kaitai/kaitaistream.cpp"]

def configure(self, build, conf):
build.env.Append(CPPDEFINES=['KS_STR_ENCODING_NONE'])
build.env.Append(CPPPATH="#lib/kaitai")

# For determining MP3 timing offset cases in Rekordbox library feature
class MP3GuessEnc(Dependence):

def sources(self, build):
return [
"lib/mp3guessenc-0.27.4/mp3guessenc.c",
"lib/mp3guessenc-0.27.4/tags.c",
"lib/mp3guessenc-0.27.4/decode.c",
"lib/mp3guessenc-0.27.4/bit_utils.c",
]

def configure(self, build, conf):
build.env.Append(CPPPATH='#lib/mp3guessenc-0.27.4/')


class Ebur128Mit(Dependence):
INTERNAL_PATH = 'lib/libebur128'
Expand Down Expand Up @@ -1043,6 +1067,10 @@ def sources(self, build):
"src/library/itunes/itunesfeature.cpp",
"src/library/traktor/traktorfeature.cpp",

"src/library/rekordbox/rekordboxfeature.cpp",
"src/library/rekordbox/rekordbox_pdb.cpp",
"src/library/rekordbox/rekordbox_anlz.cpp",

"src/library/sidebarmodel.cpp",
"src/library/library.cpp",

Expand Down Expand Up @@ -1545,7 +1573,7 @@ def depends(self, build):
FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
Chromaprint, RubberBand, SecurityFramework, CoreServices, IOKit,
QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer, LAME,
QueenMaryDsp]
QueenMaryDsp, Kaitai, MP3GuessEnc]

def post_dependency_check_configure(self, build, conf):
"""Sets up additional things in the Environment that must happen
Expand Down
7 changes: 7 additions & 0 deletions lib/kaitai/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright 2016-2019 Kaitai Project: MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16 changes: 16 additions & 0 deletions lib/kaitai/custom_decoder.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#ifndef KAITAI_CUSTOM_DECODER_H
#define KAITAI_CUSTOM_DECODER_H

#include <string>

namespace kaitai {

class custom_decoder {
public:
virtual ~custom_decoder() {};
virtual std::string decode(std::string src) = 0;
};

}

#endif
Loading