diff --git a/CMakeLists.txt b/CMakeLists.txt index dfaacf5..376a7e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.16) -project(presenter) +project(lumina) set(APP_NAME ${PROJECT_NAME}) include(FeatureSummary) @@ -59,7 +59,7 @@ if(NOT Corrosion_FOUND) endif() add_subdirectory(src) -set(CRATE libre-presenter) +set(CRATE liblumina) # Corrosion creates a CMake target with the same name as the crate. corrosion_import_crate(MANIFEST_PATH Cargo.toml CRATES ${CRATE}) diff --git a/Cargo.lock b/Cargo.lock index 1a81e7c..ce7591f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,7 +81,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -93,7 +93,7 @@ dependencies = [ "codespan-reporting", "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -169,7 +169,7 @@ checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -198,7 +198,7 @@ dependencies = [ "diesel_table_macro_syntax", "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -218,7 +218,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" dependencies = [ - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -254,6 +254,18 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "filetime" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "windows-sys", +] + [[package]] name = "getrandom" version = "0.2.9" @@ -313,12 +325,12 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.144" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] -name = "libre-presenter" +name = "liblumina" version = "0.1.0" dependencies = [ "configparser", @@ -333,7 +345,10 @@ dependencies = [ "quote", "serde", "serde_derive", + "serde_json", + "tar", "youtube_dl", + "zstd", ] [[package]] @@ -428,9 +443,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "proc-macro2" -version = "1.0.58" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -447,9 +462,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.27" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -463,6 +478,15 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -470,7 +494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom", - "redox_syscall", + "redox_syscall 0.2.16", "thiserror", ] @@ -488,29 +512,29 @@ checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -539,15 +563,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.16" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "tar" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +dependencies = [ + "filetime", + "libc", + "xattr", +] + [[package]] name = "termcolor" version = "1.2.0" @@ -574,7 +609,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.28", ] [[package]] @@ -794,6 +829,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "xattr" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +dependencies = [ + "libc", +] + [[package]] name = "youtube_dl" version = "0.8.0" @@ -805,3 +849,33 @@ dependencies = [ "serde_json", "wait-timeout", ] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index 8fda5fd..b392f3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "libre-presenter" +name = "liblumina" version = "0.1.0" edition = "2021" authors = [ @@ -27,6 +27,9 @@ diesel = { version = "2.0.3", features = ["sqlite"] } libsqlite3-sys = { version = ">=0.17.2, <0.26.0", features = ["bundled"] } youtube_dl = "0.8.0" diesel_migrations = { version = "2.1.0", features = ["sqlite"] } +tar = "0.4.40" +zstd = "0.12.4" +serde_json = "1.0.104" # sqlx = { version = "0.6.3", features = ["sqlite", "runtime-async-std"] } # ffmpeg-next = "6.0.0" diff --git a/README.org b/README.org index b0e8b51..d611826 100644 --- a/README.org +++ b/README.org @@ -23,7 +23,7 @@ First get the source code Then into the root directory. #+BEGIN_SRC -cd church-presenter +cd lumina #+END_SRC Then build. @@ -33,13 +33,13 @@ cmake -B build/ . && make --dir build/ Then run. #+BEGIN_SRC -./build/bin/presenter +./build/bin/lumina #+END_SRC ** Nix If you are using nix to develop with, which I would suggest since that will make sure all the appropriate dependencies are installed, you'll need to do the following: #+begin_src -cd church-presenter +cd lumina nix develop #+end_src @@ -47,7 +47,7 @@ This drops you into a shell with all the right dependencies. *If you have direnv* #+begin_src sh -cd church-presenter +cd lumina direnv allow #+end_src diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2d3a949..63815e1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,7 @@ -add_executable(presenter main.cpp resources.qrc) +add_executable(lumina main.cpp resources.qrc) -target_sources(presenter +target_sources(lumina PRIVATE main.cpp resources.qrc cpp/songsqlmodel.cpp cpp/songsqlmodel.h @@ -19,9 +19,9 @@ target_sources(presenter cpp/framedecoder.h cpp/framedecoder.cpp ) -target_compile_options (presenter PUBLIC -fexceptions) +target_compile_options (lumina PUBLIC -fexceptions) -target_link_libraries(presenter PRIVATE +target_link_libraries(lumina PRIVATE ${AVUTIL_LIBRARIES} ${AVFILTER_LIBRARIES} ${AVFORMAT_LIBRARIES} diff --git a/src/main.cpp b/src/main.cpp index ff9ffa0..29cee92 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -107,21 +107,21 @@ int main(int argc, char *argv[]) QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("video-display"))); QtWebEngine::initialize(); QGuiApplication app(argc, argv); - KLocalizedString::setApplicationDomain("librepresenter"); - KAboutData aboutData("librepresenter", i18n("Libre Presenter"), "0.1", + KLocalizedString::setApplicationDomain("lumina"); + KAboutData aboutData("lumina", i18n("lumina"), "0.1", i18n("A church presentation app built with KDE tech."), KAboutLicense::GPL_V3, i18n("Copyright 2017 Bar Foundation"), QString(), "https://www.foo-the-app.net"); // overwrite default-generated values of organizationDomain & desktopFileName aboutData.setOrganizationDomain("tfcconnection.org"); - aboutData.setDesktopFileName("org.tfcconnection.librepresenter"); + aboutData.setDesktopFileName("org.tfcconnection.lumina"); // set the application metadata KAboutData::setApplicationData(aboutData); - QCoreApplication::setOrganizationName(QStringLiteral("librepresenter")); + QCoreApplication::setOrganizationName(QStringLiteral("lumina")); QCoreApplication::setOrganizationDomain(QStringLiteral("tfcconnection.org")); - QCoreApplication::setApplicationName(QStringLiteral("Libre Presenter")); + QCoreApplication::setApplicationName(QStringLiteral("lumina")); // qSetMessagePattern("[%{type} %{time h:m:s ap}: %{function} in %{file}]: %{message}\n"); #ifdef Q_OS_WINDOWS