-
Notifications
You must be signed in to change notification settings - Fork 397
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
Release v3.6.0 #2258
base: future3/main
Are you sure you want to change the base?
Release v3.6.0 #2258
Conversation
* extract battmon docs into markdown * Fix typo * add link to ADS1015
Pull Request Test Coverage Report for Build 11768279903Details
💛 - Coveralls |
* Bump actions/download-artifact from 3 to 4 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v3...v4) * Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/[email protected]) * Bump geekyeggo/delete-artifact from 2 to 4 * add write permission for artifact deletion * ignore fails for artifact deletion * Revert "ignore fails for artifact deletion" This reverts commit a759d89. * Revert "add write permission for artifact deletion" This reverts commit 1028402. * remove cleanup stage for now
* remove duplicate rst doc file * fix link
merge hotfix 3.5.2
* Add event device plugin This implements an "event device" listener plugin, that enables the user to configure the phoniebox to respond to events from an "event device" (device under /dev/input). This incluces eg button presses from an USB controller or keyboard. * Adds documentation for the event device plugin Includes a detailed how-to as well as example config * Allow empty button config This is an actual usecase in case someone wants to setup a device and figure out the button ids by looking at the logs * Update README.rst * Improve README - Remove duplicated section as suggested - Add Zero Delay Arcade USB Encoder usecase * Give more meaningfull name to listener thread variable * Link to old documentation * Remove README and fix typo The documentation is now part of the markdown documentation * Remove unecessary plain=1 * Remove indents in example code There was some left over indentation from the old rtf format in the python code examples. * Add example how to access evdev in docker * Example for new Evdev config structure This is tighly modeled after gpio. In contrast to GPIO, this is a list of devices containing each one or more input/output devices. Eg a Joystick has keys but potentially also rumble or leds. Currently only very simply input devices (buttons) are supported. This structer should enable to extend this easily. * Move evdev config to separate file As suggested this should be a separate file, similar to the gpioz config * Adapt evdev code to new config Now the config for evdev is akin to GPIO. The big difference is that multiple devices with each multiple input/output devices are supported. Note that the backend is still the old event device listener backend. Thus to support more features, the backend would need to be quite drastically overhauled. * Update documentation for new evdev config format * Fix wrong reference * Fix bug to correctly check supported input device type * Add more tests for evdev init * Fix wrong attribute name The attribute 'device_request' of EvDevKeyListener is now called 'device_name_request' * Validate input config better Fails if there is no device_name and setts proper default for 'exact' * Add pyzmq installation for github action This is required for some tests. Following the instructions from issue #2050 Specifically: #2050 (comment) * Revert "Add pyzmq installation for github action" This reverts commit 75161b5. As this was not working * Mock `jukebox.publishing` in tests to avoid zmq Currently it is hard to install zmq (#2050) and for CI pytest `zmq` is not available. As the test do not really require `jukebox.publishing` running, mocking it in the test avoids it being imported. Thus the tests do not require `zmq` to be installed. --------- Co-authored-by: pabera <[email protected]> Co-authored-by: Vito Zanotelli <[email protected]> Co-authored-by: s-martin <[email protected]>
* bugfix: Stop Back Action at audiofolder root level This also allows to go back when folder is empty Fixes #2224 * fix: Flake8 issue * Remove some minor issues
* activated delete-artifacts again with v5 * deactivate failOnError for deletion
* fix docs * add markdown action * use different action * change linter * add checkout * change globs * change wildcard * Aktualisieren von markdown_v3.yml * fix ignore * comment ignore * change version * use master * new action used for linting * Fix config * Remove ignore * Ignore docstring dir * ignore GitHub * Aktualisieren von markdown_v3.yml * use dot true * Aktualisieren von markdown_v3.yml * Use new action * Fix continue-on-error * Remove unnecessary code * Add markdownlint config * Rename . markdownlint-cli2.yaml to .markdownlint-cli2.yaml * Use config file * Simplify globs * Use globs and ignore in config file * Ignore $ errors * Ignore src and .github * Use only config file * Fix general glob * Ignore inline html * Disable MD010 * Fix language * dont warn trailing punctuation * fix warnings * fix a warning * reduce ignore * fix warnings * fail check, if markdownlint fails * add runner script and hook * Update documentation/builders/components/power/onoff-shim.md Co-authored-by: Alvin Schiller <[email protected]> * Update playlists-livestreams-podcasts.md * add documentation for documentation with md * get rid of docker * fix comments * incorporate comments * Update documentation/developers/documentation.md Co-authored-by: Alvin Schiller <[email protected]> * check, if cmd does not exisr --------- Co-authored-by: Alvin Schiller <[email protected]>
* docs: Manually upgrade to the latest version * Fix typo * Fix Typos * Solve last issue * fix: Align with comments * fix: indentation was off * fix: markdown lint * fix: one small bugfix * fix: remove last linting issues * fix: adding info about missing upgrade feature
* Customize markdownlint * Remove ignore in file * Remove ignore in file
* use codeql v3 * make sure there's always an update
* Externalize libzmq build * Update documentation * Use dedicated build directory for libzmq * improve: update make command to be more efficient * Update docker/Dockerfile.libzmq Co-authored-by: notapirate <[email protected]> * fix: Remove unneccesary MD linting rule * fix: Remove another markdown linter * Remove uncessary file * refactor: Rename docker.pulse.mpd.conf --------- Co-authored-by: notapirate <[email protected]>
rewind() is documented to jump to the first song of the playlist. Instead, it jumped to the second song as SONGPOS in MPDClient.play(SONGPOS) is zero-indexed [1], so mpd.play(1) started the second song. [1] https://mpd.readthedocs.io/en/latest/protocol.html#the-queue "The position is a 0-based index" Related: #2294
* Try python 3.12 * Trigger py file for action * Revert previous commit * fix flake8 warnings for python 3.12 * fix e126 * fix e126 * ignoring e126 as it is too strict * revert e126 attempts
* Fix CoverartCacheManager for songs with no art Previously, an ERROR was logged for each song without cover art when the Web UI was open. This commit avoids the error, caches the no-cover-art result and saves a roundtrip to mpd for all no-cover-art songs. * refactor: Reducing code and simplifying some logical statements * fix: flake8 error * refactor: reducing complexity for cache filename * refactor: introduce queuing for saving cache files * fix: remove slugify * feat: Use mutagen instead of MPD to retrieve cover art, include cache flush, and thread * fix: flake8 error * Update src/jukebox/components/playermpd/__init__.py Co-authored-by: Christian Hoffmann <[email protected]> --------- Co-authored-by: pabera <[email protected]>
* Update action versions * Trigger python action * Update Python action * Use correct env variable * Revert change for triggering action
* utils: Add get_config_action This abstracts away the functionality to resolve a given config option to an action in a pre-defined dict. Co-authored-by: Christian Hoffmann <[email protected]> * Fix PlayerMPD.prev/next() when stopped * Avoid MPD-related crashes during all prev/next() calls. * Explicitly handle prev() in stopped state, configurable via `playermpd.stopped_prev_action`. * Explicitly handle next() in stopped state, configurable via `playermpd.stopped_next_action`. * Explicitly handle next() when reaching the end of the playlist: jukebox-daemon will now ignore the action by default (similar to v2). It can also be configured to rewind the playlist instead by setting the new config option `playermpd.end_of_playlist_next_action: rewind` or to stop playing. Fixes #2294 Fixes #2327 Co-authored-by: pabera <[email protected]> --------- Co-authored-by: pabera <[email protected]>
@pabera Another thing which is worth mentioning after #2325 is that the new mutagen dependency will be missing by default. This crashes the player thread upon swipe:
This fixes it and should probably be run after the update, either automatically (is there a process already?) or via documentation: |
Yes this is true. We should mention this in the release notes. At the moment, we don't offer an update mechanism. We have thought about it and will try for the next version. For the time being, we officially support New Install only (where the dependency will be installed). |
Merge Hotifx 3.5.3
* fix: Add cmake as requirement to support pyzmq build * fix: Remove cmake and pin pyzmq<26 as cmake does not build well in RPI env
…stem (#2352) * feat: Introduce Web App Settings * feat: Allow to enable/disable Cover Art in Web App * fix: handle Falsy mimetype and data even when APIC tag has been found my mutagen * feat: Try to load cover from filesystem when not found in audio file * fix: flake8 linting error * docs: Add documentation for Cover Art * feat: Allow show_covers setting to be managed in Web App * fix: again flake8 linting errors
* add details about cards * fix empty line * Update documentation/developers/rfid/mfrc522_spi.md Co-authored-by: Alvin Schiller <[email protected]> --------- Co-authored-by: Alvin Schiller <[email protected]>
* specify specific pip version wich works with zmq install * add INA219 sensor * average measurement for more accurate results. Use supply voltage for measurement. * Revert "specify specific pip version wich works with zmq install" This reverts commit 48dd1bf. * correct format * Update src/jukebox/components/battery_monitor/batt_mon_i2c_ina219/__init__.py Co-authored-by: s-martin <[email protected]> * Update copyright notice * Update license * Update license * Document the INA219 * add error handling and type safety * Update batterymonitor.md * Update __init__.py * fix markdown lint for batterymonitor.md * fix markdown lint batterymonitor.md * Update documentation/builders/components/power/batterymonitor.md Co-authored-by: s-martin <[email protected]> * Update documentation/builders/components/power/batterymonitor.md Co-authored-by: s-martin <[email protected]> --------- Co-authored-by: Timm <[email protected]> Co-authored-by: s-martin <[email protected]>
* Remove 64bit check in installer script * Check presence of raspi.list in raspian check * fix: update check for debian derived os. integrate checks RPiOS: 32-bit = raspbian, 64-bit = debian --------- Co-authored-by: Alvin Schiller <[email protected]>
* use correct raspi-config command for bookworm * simplify _get_boot_file_path * fix path * revert last commit * merge fixes * merge fixes --------- Co-authored-by: Alvin Schiller <[email protected]>
* feat: Add Idle Shutdown Timer support This adds an optional idle shutdown timer which can be enabled via timers.idle_shutdown.timeout_sec in the jukebox.yaml config. The system will shut down after the given number of seconds if no activity has been detected during that time. Activity is defined as: - music playing - active SSH sessions - changes in configs or audio content. Fixes: #1970 * refactor: Break down IdleTimer into 2 standard GenericMultiTimerClass and GenericEndlessTimerClass timers * feat: Introducing new Timer UI, including Idle Shutdown * refactor: Abstract into functions * Adding Sleep timer / not functional * Finalize Volume Fadeout Shutdown timer * Fix flake8 * Fix more flake8s * Fix small bugs * Improve multitimer.py suggested by #2386 * Fix flake8 --------- Co-authored-by: pabera <[email protected]>
Features
evdev
) #1943Fixes
Documentation