diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..3fa32fb --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,14 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: philschatzh +custom: ['https://www.paypal.com/paypalme/pschatzmann?country.x=CH&locale.x=en_US'] diff --git a/.github/ISSUE_TEMPLATE/Issue-report.yml b/.github/ISSUE_TEMPLATE/Issue-report.yml new file mode 100644 index 0000000..37c3236 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Issue-report.yml @@ -0,0 +1,58 @@ +name: Bug report +description: Report only a bugs here! +body: + - type: markdown + attributes: + value: | + * Before reporting a new bug please check and search the [list of existing issues](https://github.com/pschatzmann/arduino-audio-tools/issues?q=) + * Please check [the Readme](https://github.com/pschatzmann/arduino-audio-tools) and [Wiki](https://github.com/pschatzmann/arduino-audio-tools/wiki) + * Don't forget to check [the discusions](https://github.com/pschatzmann/arduino-audio-tools/discussions) + * If still experiencing the issue, please provide as many details as possible below about your hardware, computer setup and code. + - type: textarea + id: Description + attributes: + label: Problem Description + description: Please describe your problem here and expected behaviour + placeholder: ex. Can't connect/weird behaviour/wrong function/missing parameter.. + validations: + required: true + - type: textarea + id: Board + attributes: + label: Device Description + description: What development board are you using + placeholder: e.g. ESP32 Wroom, Desktop Build, RP2040 + validations: + required: true + - type: textarea + id: sketch + attributes: + label: Sketch + description: Please provide full minimal sketch/code which can be run to reproduce your issue + placeholder: ex. Related part of the code to replicate the issue + render: cpp + validations: + required: true + + - type: textarea + id: other-remarks + attributes: + label: Other Steps to Reproduce + description: Is there any other information you can think of which will help us reproduce this problem? Any additional info can be added as well. + placeholder: ex. I also tried on other OS, HW...it works correctly on that setup. + + - type: textarea + id: sceanario + attributes: + label: What is your development environment (with Arduino Core Version information) + description: Please provide the information about your development/runtime environment + placeholder: Arduino ESP 2.0.14, Desktop Build, IDF 5.3.2, STM32-Cube MX, PlatformIO ESP32 6.10.0, JupyterLab + + - type: checkboxes + id: confirmation + attributes: + label: I have checked existing issues, discussions and online documentation + description: You agree to check all the resources above before opening a new issue. + options: + - label: I confirm I have checked existing issues, discussions and online documentation + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.gitignore b/.gitignore index bf2eee5..9457897 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,7 @@ # VS code .vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json +.vscode/settings.json *.code-workspace # Local History for Visual Studio Code diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a42c31..bc65c85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,28 +1,42 @@ cmake_minimum_required(VERSION 3.16) -# set the project name -project(arduino_helix) +if (DEFINED ESP_PLATFORM) + # idf component + idf_component_register( + SRC_DIRS src src/utils src/libhelix-aac src/libhelix-mp3 + INCLUDE_DIRS src src/utils src/libhelix-aac src/libhelix-mp3 + # REQUIRES arduino-esp32 + ) -# lots of warnings and all warnings as errors -## add_compile_options(-Wall -Wextra ) -set(CMAKE_CXX_STANDARD 17) + target_compile_options(${COMPONENT_LIB} INTERFACE -Wno-error -Wno-format) + target_compile_options(${COMPONENT_LIB} PRIVATE -DUSE_DEFAULT_STDLIB) + add_compile_definitions(ESP32) +else() -option(MP3_EXAMPLES "build examples" OFF) + # set the project name + project(arduino_helix) -file(GLOB_RECURSE SRC_LIST_C CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.c" ) -file(GLOB_RECURSE SRC_LIST_CPP CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.cpp" ) + # lots of warnings and all warnings as errors + ## add_compile_options(-Wall -Wextra ) + set(CMAKE_CXX_STANDARD 17) -# define libraries -add_library (arduino_helix ${SRC_LIST_C} ${SRC_LIST_CPP}) + option(MP3_EXAMPLES "build examples" OFF) -# prevent compile errors -target_compile_options(arduino_helix PRIVATE -DUSE_DEFAULT_STDLIB) + file(GLOB_RECURSE SRC_LIST_C CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.c" ) + file(GLOB_RECURSE SRC_LIST_CPP CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/src/*.cpp" ) -# define location for header files -target_include_directories(arduino_helix PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/libhelix-mp3 ${CMAKE_CURRENT_SOURCE_DIR}/src/libhelix-aac ) + # define libraries + add_library (arduino_helix ${SRC_LIST_C} ${SRC_LIST_CPP}) -# build examples -if(MP3_EXAMPLES) - add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/examples/output_mp3") - add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/examples/output_aac") + # prevent compile errors + target_compile_options(arduino_helix PRIVATE -DUSE_DEFAULT_STDLIB -DHELIX_LOGGING_ACTIVE=0) + + # define location for header files + target_include_directories(arduino_helix PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/libhelix-mp3 ${CMAKE_CURRENT_SOURCE_DIR}/src/libhelix-aac ) + + # build examples + if(MP3_EXAMPLES) + add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/examples/output_mp3") + add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/examples/output_aac") + endif() endif() \ No newline at end of file diff --git a/README.md b/README.md index 48f7b37..70dc482 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,8 @@ LOGLEVEL_HELIX = LogLevelHelix::Info; ## Documentation - The [Class Documentation can be found here](https://pschatzmann.github.io/arduino-libhelix/html/annotated.html) +- aac [readme.txt](https://github.com/pschatzmann/arduino-libhelix/blob/main/src/libhelix-aac/readme.txt) +- mp3 [readme.txt](https://github.com/pschatzmann/arduino-libhelix/blob/main/src/libhelix-mp3/readme.txt) - I also suggest that you have a look at [my related blogs](https://www.pschatzmann.ch/home/tag/codecs/) I recommend to use this library together with my [Arduino Audio Tools](https://github.com/pschatzmann/arduino-audio-tools). diff --git a/docs/html/_a_a_c_decoder_helix_8h_source.html b/docs/html/_a_a_c_decoder_helix_8h_source.html index c924cc3..25ed065 100644 --- a/docs/html/_a_a_c_decoder_helix_8h_source.html +++ b/docs/html/_a_a_c_decoder_helix_8h_source.html @@ -111,7 +111,7 @@
- + @@ -162,49 +162,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +For Arduino, you can download the library as zip and call include Library -> zip library. Or you can git clone this project into the Arduino libraries folder e.g. with
This project can also be built and executed on your desktop with cmake:
I recommend to use this library together with my Arduino Audio Tools. This is just one of many codecs that I have collected so far: Further details can be found in the Encoding and Decoding Wiki of the Audio Tools.
diff --git a/library.properties b/library.properties index 8d8f1a3..cc35d68 100644 --- a/library.properties +++ b/library.properties @@ -1,7 +1,7 @@ name=libhelix -version=0.8.5 +version=0.8.9 author=Phil Schatzmann -maintainer=