-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 9b24d6e
Showing
116 changed files
with
30,341 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
Version: sacd_extract 0.3.9.3-75 | ||
- changed in how the content of TPE1 (Artist name) of ID3 tag is filled. If Disc/Album artist or Performer are missing from the SACD, then the TPE1 is no longer created; | ||
- fixed a bug in concurrent ISO+DSF/DSDIFF processing mode (when folders are not identical); | ||
|
||
---------------------------------------------------------------------------------- | ||
|
||
Version: sacd_extract 0.3.9.3-71-g781ecde73214576cf7dee777ed07511f98f7784d | ||
|
||
added UTF-16 encodings with BOM for ID3v2.3 tags; | ||
added id3tag=3 option for creating DSF files with ID3V2.3 tags and string encodings ISO-8859-1 (ASCII); | ||
The ID3 tags will be created: | ||
(id3tag=1) in ID3V2.3 version with full metadata. String encodings is UTF-16 with BOM (UCS-2); | ||
(id3tag=2) in ID3V2.3 version with minimal medatadata*. String encodings is UTF-16 with BOM (UCS-2); | ||
(id3tag=3) in ID3V2.3 version with full metadata. String encodings is ISO-8859-1 (ASCII); | ||
(id3tag=4) in ID3V2.4 version with full metadata. String encodings is UTF-8; | ||
(id3tag=5) in ID3V2.4 version with minimal metadata*. String encodings is UTF-8; | ||
(id3tag=0) ID3tag will not be created (for testing and experimental purpose). | ||
now the default format for ID3 tags will be ID3v2.4 format (with UTF-8 encodings). | ||
Note: * minimal metadata contains only 4 elements: Track Title, Album Title, Artist Name and Track Number. | ||
|
||
----------------------------------------------------------------------------------------------------------- | ||
Version: 0.3.9.3-63-g077212b4b0e4aa2c1ff1cd53651cc4af85e58f3d Release Candidate | ||
- added id3tag=0 (or =1, =2, =4, =5) option. At DSF conversion the ID3 tags will be created: | ||
- (=1) in ID3V2.3 version with full metadata (Default) or with minimal medatadata* (=2); | ||
- (=4) in ID3V2.4 version with full metadata or with minimal medatadata* (=5); | ||
- if =0 then ID3tag will not be created (for testing and experimental purpose). | ||
|
||
*Minimal metadata contains only 4 elements: Track Title, Album Title, Artist Name and Track Number. | ||
|
||
- addedd logging=1 option :logging will be activated. All messages during execution of sacd_extract will be saved in 'logfile-sacd_extract.txt'. | ||
|
||
sacd_extract.exe sha256: e56b3a31c4d4a1c41b587963a1f62dbdd47987324c02b221bfa2adb6ec8770bf | ||
Linux sacd_extract sha256: f6c156c8d8629854a292b0174046928bd12b6cde4c704ca29660adcfce4c2fe5 | ||
------------------------------------------------------------------------------------------------------------- | ||
|
||
Version: 0.3.9.3-51-gdeed25c3d4515e9d878c3e855cb72324958aafdf pre-release | ||
- added concatenation option -k (--concatenate). Used in conjunction with track selection to concatenate selected tracks. Designed only for DSF format. Also, concatenate option can be set in 'sacd_extract.cfg' file as 'concatenate=1'. This allow to work ok with SACDExtractGui; Padding-less option for concatenation can be set also in 'sacd_extract.cfg' (to override the same option in SACDExtractGui which is disabled when tracks selection is enabled).Example 'nopad=0'; | ||
- fixed a bug in ID3 tag (where missing a null terminal in id3 tag text frames); | ||
- ID3 tag are using now UTF-8 encoding; | ||
- now 'artist' -A (--artist), 'performer' -a (--performer) and 'pauses' -b (--pauses) options can be declared in command line; | ||
|
||
sacd_extract.exe sha256: e0f909748b427b9659b9393c2bc0fb8b676a98d85295b24d84b549d4265b350b | ||
Linux sacd_extract sha256: 3fa8e56d2a5d395b93cf4f8af50accff10dc8676367fee1229fac4e922ffc477 | ||
---------------------------------------------------------------------------------------------------------- | ||
Version: 0.3.9.3-30-g045865607bafe3c5037f0a883aec82aec9c20d6d pre-release | ||
- fixed -z (--dsf-nopad) not working; | ||
- changed the name of option 'audio_frame_trimming=1' into 'pauses'. When 'pauses=1' then pauses are included in tracks. | ||
|
||
sacd_extract.exe sha256: a97c3f6d427bf26342127aa27c89f7da4883a92c2a3499edfdd5568a23c5765f | ||
Linux sacd_extract sha256: 2544f62c6b4e516dd929dbb5dd768021bd61c8a62d0dd7cb452579196c9da546 | ||
|
||
---------------------------------------------------------------------------------------------------------- | ||
Version: 0.3.9.3-23-gb562b812f5984d6d181dd21961d422c28484c0aa pre-release | ||
- for dsf/dff option, audioframes counter is added for each tracks and compares with total duration to see if it misses one. | ||
|
||
sacd_extract.exe sha256: 48d0902005637e06fae55f7656eddd954a87e990fda0bd04e13ba6a3b6c990d6 | ||
Linux sacd_extract sha256: e6075ca23f7ce4cffdf804d4c49cdfb57923e32fa33c6a14b1df49250be6ab73 | ||
|
||
------------------------------------------------------------------------------------------------------------------------------------------------ | ||
Version: 0.3.9.3-17-g80f9b52d9a211b52a7b1f019b4882c81a3a4f6b7 pre-release | ||
|
||
Binaries compiled with cross compiler mingw64 for Windows (64bit) & Gnu 7.4.0 for Linux. | ||
- fixed infinite loop 99% when iso files are corrupted; | ||
- added Performer tag to dsf files; | ||
- multi-byte chars in filenames is supported for Windows when input files are iso (using wmain); | ||
- better management in creating folders/files/tracks names (including albums with multiple discs); | ||
- folders are created like this: Album name/(Disc no)/(Stereo or 5ch or 6ch). If configuration file sacd_extract.cfg exist in working folder of app(which can be shown with -v option) and has text lines: 'artist=1' (and/or 'performer=1') it adds artist at the name of folder and/or adds performer at the filename of tracks; | ||
- changed priority in title/artist extracting metadata. Now disc_title/disc_artist came first instead of album_title/album_artist (useful in case of multiple discs of an album); | ||
- added -w (--concurrent) for compatibility with SACDExtractGUI; | ||
- added -o (--output-dir[=DIR] ) and -y (--output-dir-conc[=DIR]) options for setting explicit output folder (for compatibility with SACDExtractGUI); | ||
- for DSF/DFF files, the pops/crackles noise is reduced by trimming frames at track boundaries; | ||
- audio frames are trimmed out (based on timecode) at boundaries to reflect the correct playing time of tracks specified in Tracklist. This is done for DSF/DFF files (no for DFF-EM); | ||
- eliminates crashes when disk for output is full; | ||
- corrected behavior in case of discs with only one multi-channel area (with no stereo area); | ||
- added total play time for each area when printing disc info; | ||
- now it strips out ending slash or backslash, if exists, at --output-dir or --output-dir-conc to be compatible with BatchEncoder; | ||
- added xml metadata file export option (is activated when Cue sheet is checked). Libray libxml2 is used; | ||
- added more integrity checks of the audio frames; | ||
- fixed 2 BUGS which can make pops/crackles noises at the end of DSF/DFF tracks; | ||
- added -z (--dsf-nopad) option, (now is fully compatible with SACDExtractGUI); | ||
- added 'audio_frame_trimming=1' option in sacd_extract.cfg (see above 'audio frames are trimmed out....'). | ||
|
||
version 0.3.7 | ||
|
||
- fixed a bug where arranger phonetic was referenced incorrectly during print (-P) | ||
- option to allow individual dsf/dsdiff track extraction | ||
- added (foobar) compatible escaping to cuesheets | ||
- added user optional output filename/folder (last parameter) | ||
|
||
version 0.3.6 | ||
|
||
- network speed improvement | ||
- added native OS X support | ||
- gapless is on by default for individual tracks | ||
- fixed issue where CUE export wrote to wrong filename | ||
|
||
version 0.3.5 | ||
|
||
- added ID3 tags to Edit Master for multiple ID3 tagging | ||
- added option to export individual CUE Sheets | ||
- fixed DSTI table where DST Edit Master > 2GB | ||
- fixed SACD to ID3 genre conversion table | ||
|
||
version 0.3.4 (bug fix release, please update if running 0.3.3) | ||
|
||
- fixed a bug where DSTI was incorrectly part of DSD chunk | ||
|
||
version 0.3.3 (bug fix release, please update if running 0.3.2) | ||
|
||
- fixed a bug where a wrong DSDIFF header was written for edit masters | ||
|
||
version 0.3.2 | ||
|
||
- added DSDIFF Edit Master (single DSD file) support | ||
- added CUE Sheet support for Edit Master | ||
- added DST frame buffer overflow protection | ||
- added DST frame index chunk support | ||
- removed gapless support (replaced by DSDIFF Edit Master) | ||
- merged Maxims optimized FIR decoder |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
# CMake build file for SACD Extract | ||
|
||
cmake_minimum_required(VERSION 2.6) | ||
|
||
# Force to compile for Mac OS X 10.13. target (if you want the app run on all OS X versions). | ||
# Without this adding, if build is made on a MacOS 10.15 or newer, then the app will not run on systems older than 10.15. | ||
# You can delete this if you don't care about the Mac OS X 10.15 incompatibilty problem. | ||
if (APPLE) | ||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "Minimum OS X deployment version" FORCE) | ||
set(ENV{MACOSX_DEPLOYMENT_TARGET} 10.13) | ||
endif() | ||
|
||
include_directories(src/libcommon src/libsacd src/libdstdec src/libid3) | ||
|
||
# Mingw-w64 support | ||
OPTION(MINGW64 "Mingw-w64" NO) | ||
if (MINGW64 MATCHES "YES") | ||
MESSAGE(STATUS "Mingw-w64 mode enabled") | ||
SET(CMAKE_SYSTEM_NAME Windows) | ||
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") | ||
SET(TOOLCHAIN_PREFIX x86_64-w64-mingw32) | ||
SET(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) | ||
SET(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX}) | ||
endif (MINGW64 MATCHES "YES") | ||
|
||
execute_process( | ||
COMMAND git describe --tags --dirty --abbrev=64 | ||
OUTPUT_VARIABLE GIT_COMMIT_HASH | ||
RESULT_VARIABLE GIT_COMMIT_HASH_RESULT | ||
OUTPUT_STRIP_TRAILING_WHITESPACE | ||
) | ||
|
||
execute_process( | ||
COMMAND git remote get-url origin | ||
OUTPUT_VARIABLE GIT_REPO_URL | ||
RESULT_VARIABLE GIT_REPO_URL_RESULT | ||
OUTPUT_STRIP_TRAILING_WHITESPACE | ||
) | ||
|
||
# Obtain git commit hash and repo url | ||
if(${GIT_COMMIT_HASH_RESULT} GREATER 0) | ||
add_definitions("-DGIT_COMMIT_HASH=NA") | ||
else(${GIT_COMMIT_HASH_RESULT} GREATER 0) | ||
add_definitions("-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}") | ||
MESSAGE(STATUS "git commit hash: ${GIT_COMMIT_HASH}") | ||
endif(${GIT_COMMIT_HASH_RESULT} GREATER 0) | ||
|
||
if(${GIT_REPO_URL_RESULT} GREATER 0) | ||
add_definitions("-DGIT_REPO_URL=NA") | ||
else(${GIT_REPO_URL_RESULT} GREATER 0) | ||
add_definitions("-DGIT_REPO_URL=\"${GIT_REPO_URL}\"") | ||
MESSAGE(STATUS "git repo url: ${GIT_REPO_URL}") | ||
endif(${GIT_REPO_URL_RESULT} GREATER 0) | ||
|
||
project(sacd_extract C) | ||
|
||
# Load some macros. | ||
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}") | ||
|
||
# Macros we'll need | ||
include(CheckIncludeFile) | ||
include(CheckFunctionExists) | ||
include(CheckTypeSize) | ||
include(FindThreads) | ||
|
||
# Include directory paths | ||
include_directories(${CMAKE_CURRENT_BINARY_DIR}) | ||
include_directories(${sacd_extract_SOURCE_DIR}) | ||
|
||
include_directories("../../libs/libcommon") | ||
include_directories("../../libs/libdstdec") | ||
include_directories("../../libs/libid3") | ||
include_directories("../../libs/libsacd") | ||
|
||
message(STATUS "libmxl2 ${LIBXML2_LIBRARIES}") | ||
find_package(LibXml2 REQUIRED) | ||
|
||
# Extra flags for GCC | ||
STRING(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER) | ||
if(NOT CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG") | ||
if (CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang")) | ||
add_definitions( | ||
-pipe | ||
-Wall -Wextra -Wcast-align -Wpointer-arith -O3 | ||
-Wno-unused-parameter `xml2-config --cflags --libs`) | ||
endif () | ||
if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm*") | ||
add_definitions( | ||
-msse2) | ||
endif () | ||
endif () | ||
|
||
|
||
file(GLOB libcommon_headers src/libcommon/*.h) | ||
file(GLOB libcommon_sources src/libcommon/*.c) | ||
source_group(libcommon FILES ${libcommon_headers} ${libcommon_sources}) | ||
|
||
file(GLOB libdstdec_headers src/libdstdec/*.h) | ||
file(GLOB libdstdec_sources src/libdstdec/*.c) | ||
source_group(libdstdec FILES ${libdstdec_headers} ${libdstdec_sources}) | ||
|
||
file(GLOB libid3_headers src/libid3/*.h) | ||
file(GLOB libid3_sources src/libid3/*.c) | ||
source_group(libid3 FILES ${libid3_headers} ${libid3_sources}) | ||
|
||
file(GLOB libsacd_headers src/libsacd/*.h) | ||
file(GLOB libsacd_sources src/libsacd/*.c) | ||
source_group(libsacd FILES ${libsacd_headers} ${libsacd_sources}) | ||
|
||
file(GLOB main_headers src/*.h) | ||
file(GLOB main_sources src/*.c) | ||
source_group(main FILES ${main_headers} ${main_sources}) | ||
|
||
add_executable(sacd_extract | ||
${main_headers} ${main_sources} | ||
${libcommon_headers} ${libcommon_sources} | ||
${libdstdec_headers} ${libdstdec_sources} | ||
${libid3_headers} ${libid3_sources} | ||
${libsacd_headers} ${libsacd_sources} | ||
) | ||
|
||
if(WIN32) | ||
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIRARIES} -lpthread -lws2_32 -liconv -lxml2 -static") | ||
target_compile_options(${PROJECT_NAME} PRIVATE -municode) | ||
target_link_libraries(${PROJECT_NAME} -municode) | ||
add_definitions(-D_FILE_OFFSET_BITS=64) | ||
add_definitions(-DUNICODE -D_UNICODE -DIN_LIBXML) | ||
elseif(APPLE) | ||
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIRARIES} -liconv -lpthread -lxml2") | ||
else() | ||
add_definitions(-D_FILE_OFFSET_BITS=64) | ||
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIRARIES} -lpthread -lxml2") | ||
endif() |
Oops, something went wrong.