build: Generate albums through cmake
This is much more straightforward than having scons call a bash script. Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
921a04e28e
commit
5e65414263
|
@ -8,5 +8,7 @@ endif()
|
|||
list(REMOVE_ITEM core ${PROJECT_SOURCE_DIR}/core/file.c)
|
||||
list(APPEND corefiles ${PROJECT_SOURCE_DIR}/core/file.c)
|
||||
|
||||
add_subdirectory(Music/)
|
||||
|
||||
add_library(corelib OBJECT EXCLUDE_FROM_ALL ${core})
|
||||
add_subdirectory(core/)
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
|
||||
find_program(FFMPEG_EXECUTABLE ffmpeg)
|
||||
if ("${FFMPEG_EXECUTABLE}" STREQUAL "FFMPEG_EXECUTABLE-NOTFOUND")
|
||||
message(FATAL_ERROR "ffmpeg not found!")
|
||||
else()
|
||||
message(STATUS "Found ffmpeg: ${FFMPEG_EXECUTABLE}")
|
||||
endif()
|
||||
|
||||
add_custom_target(generate)
|
||||
add_dependencies(tests generate)
|
||||
|
||||
set(loglevel quiet)
|
||||
if (CONFIG_TESTING_VERBOSE)
|
||||
set(loglevel warning)
|
||||
endif()
|
||||
|
||||
set(FFMPEG_ARGS -hide_banner -nostdin -f s16le -i /dev/zero -codec libvorbis -loglevel ${loglevel})
|
||||
|
||||
function(gen_track num len title)
|
||||
set(track "${ALBUM}/${num} - ${title}.ogg")
|
||||
add_custom_command(TARGET generate PRE_BUILD COMMAND
|
||||
${FFMPEG_EXECUTABLE} ${FFMPEG_ARGS} -t ${len}
|
||||
-metadata TITLE=${title}
|
||||
-metadata ARTIST=${ARTIST}
|
||||
-metadata ALBUM=${ALBUM}
|
||||
-metadata GENRE=${GENRE}
|
||||
-metadata DATE=${YEAR}
|
||||
-metadata TRACKNUMBER=${num}
|
||||
"${track}" || true VERBATIM)
|
||||
endfunction()
|
||||
|
||||
|
||||
#
|
||||
# Generate Hyrule Symphony album
|
||||
#
|
||||
add_custom_command(TARGET generate PRE_BUILD COMMAND mkdir -p Hyrule\ Symphony/)
|
||||
set(ARTIST "Koji Kondo")
|
||||
set(ALBUM "Hyrule Symphony")
|
||||
set(YEAR 1998)
|
||||
set(GENRE "Game")
|
||||
gen_track(01 243 "Title Theme")
|
||||
gen_track(02 130 "Kokiri Forest")
|
||||
gen_track(03 227 "Hyrule Field")
|
||||
gen_track(04 130 "Hyrule Castle")
|
||||
gen_track(05 206 "Lon Lon Ranch")
|
||||
gen_track(06 186 "Kakariko Village")
|
||||
gen_track(07 178 "Death Mountain")
|
||||
gen_track(08 221 "Zora's Domain")
|
||||
gen_track(09 273 "Gerudo Valley")
|
||||
gen_track(10 66 "Ganondorf")
|
||||
gen_track(11 185 "Princess Zelda")
|
||||
gen_track(12 232 "Ocarina Medley")
|
||||
gen_track(13 288 "The Legend of Zelda Medley")
|
||||
|
||||
|
||||
#
|
||||
# Generate Ocarina of Time album
|
||||
#
|
||||
add_custom_command(TARGET generate PRE_BUILD COMMAND mkdir -p Ocarina\ of\ Time/)
|
||||
set(ALBUM "Ocarina of Time")
|
||||
set(YEAR 1998)
|
||||
set(GENRE "Video Game")
|
||||
gen_track(01 170 "Title Theme")
|
||||
gen_track(02 80 "Deku Tree")
|
||||
gen_track(03 46 "Fairy Flying")
|
||||
gen_track(04 71 "House")
|
||||
gen_track(05 112 "Kokiri Forest")
|
||||
gen_track(06 133 "Shop")
|
||||
gen_track(07 134 "Battle")
|
||||
gen_track(08 164 "Inside the Deku Tree")
|
||||
gen_track(09 153 "Boss Battle")
|
||||
gen_track(10 327 "Hyrule Field Main Theme")
|
||||
gen_track(11 103 "Market")
|
||||
gen_track(12 90 "Hyrule Castle Courtyard")
|
||||
gen_track(13 62 "Ocarina Songs")
|
||||
gen_track(14 101 "Ocarina of Time")
|
||||
gen_track(15 271 "LonLon Ranch")
|
||||
gen_track(16 204 "Kakariko Village")
|
||||
gen_track(17 75 "Lost Woods")
|
||||
gen_track(18 171 "Zora's Domain")
|
||||
gen_track(19 72 "Great Fairy's Fountain")
|
||||
gen_track(20 159 "Temple of Time")
|
||||
gen_track(21 124 "Chamber of the Sages")
|
||||
gen_track(22 98 "Horse Race")
|
||||
gen_track(23 193 "Kakariko Village Orchestra")
|
||||
gen_track(24 99 "Windmill Hut")
|
||||
gen_track(25 172 "Gerudo Valley")
|
||||
gen_track(26 147 "Ganondorf Battle")
|
||||
gen_track(27 191 "Last Battle")
|
||||
gen_track(28 34 "Zelda's Ocarina")
|
||||
gen_track(29 433 "Staff Credits Theme")
|
||||
gen_track(30 18 "Minuet of Forest")
|
||||
gen_track(31 24 "Bolero of Fire")
|
||||
gen_track(32 24 "Serenade of Water")
|
||||
gen_track(33 25 "Nocturne of Shadow")
|
||||
gen_track(34 23 "Prelude of Light")
|
||||
gen_track(35 27 "Requiem of Spirit")
|
Loading…
Reference in New Issue