Releases: denis-stepanov/advent
Releases · denis-stepanov/advent
1.6.1
1.6.0
Features:
- #64: support for BroadLink Universal Remote (
--tv_control broadlink
), using a new dependency package broadlink. Device auto-detect on the network is supported. A new option--tv_codes
could be used to point BroadLink support to the TV codes to use. See more info on setting this up in README; - #8, #75, #76: support for interactive controls, using a new dependency package sshkeyboard. A variety of commands is available, starting with possibility to emulate a hit and manipulate TV "in action" status. One could also adjust on the fly AdVent parameters "recognition interval" and "recognition confidence". Equally available are direct commands to TV for mute and volume increase / decrease, making AdVent a kind of TV remote. Finally, a graceful "quit" command is provided (previously quit required hard termination from shell). Hit
h
at run-time for the list of commands supported; - #8: support for new option
--in_action
which would allow starting AdVent with "TV muted" condition. This is mostly useful in the case of uni-directional controls. An equivalent interactive command would allow setting AdVent back in sync in the case of eventual de-sync from TV state; - #53: support for "inner" jingles. For complex ad breaks involving multiple jingles, a new option
--exit_jingles
allows specifying a number of exit jingles to be taken into account. This would be 1 by default, but could be increased. An equivalent interactive command is equally provided; - #55:
db-djv-pg
tool was made aware of git environment. In the case of operating inside a git repository, it will now inform git of certain file system changes it makes. Currently onlyrename
operation on disk is concerned; it will stage file renaming for commit. Previously track renaming under git was quite a complex operation requiring manual rename and edit of the file concerned. A new option--no-git
could be used to disable this new behavior; - #66:
db-djv-pg
tool will now print a number of fingerprints in a track during import / export operations. This could be of interest when exporting a new jingle, in order to quickly evaluate its quality (a good number should be above 1000).
Internal / refactoring:
- tests with recent Fedoras (up to v39), PIP (up to v24) and PipeWire (up to v1.0.5). All three caused quite some disorder here and there;
- fixed PIP 24 warning on unconventional DejaVu version (denis-stepanov/dejavu#1). This change requires reinstalling DejaVu from a new tag (see README for more info). If your PIP is < 24, you are not concerned;
- as a side effect of BroadLink addition TV support modules had to be refactored. A concept of uni-directional (HarmonyHub, BroadLink) and bi-directional (Nil, PulseAudio) controls has been implemented. The interface did not change functionally, but function signatures did change, so if you have had your own TV control module implemented, its interface would need to be adapted;
- volume input parameter for PulseAudio was constrained to percentage of volume. Previously nearly any valid parameter accepted by
pactl
was possible, but it was hard to maintain that functionality in line with other controllers.
Documentation:
- improved description of recognition options;
- a new guide on recognition tuning in the case of unstable results;
- new fancy presets;
- example of 2 hours long recognition session.
1.5.0
Features:
- #44: a comprehensive exercise of AdVent engine performance testing and tuning. As a result, default number of threads was lowered from 4 to 2, and the default listening interval was decreased from 3 to 2 seconds. Overall, this results in twice as less CPU usage and faster reaction in default configuration. Detailed results are documented in README;
- significant boost to the database tool (
db-djv-pg
):- #4: support for directory tree scanning. It is now possible to pass folders to the
import
command thus eliminating the need for a complexxargs
command. In the case ofexport
, a new option-d
will now create a treeDB/<country>/<channel>/<track>
matching the format of the advent-db repository; - #34: a new option
-s
toimport
/export
commands will now allow for hard synchronization between source and target. When used, it will overwrite all the tracks in target which have a SHA1 different from the source, as well as will delete all tracks in target which do not have equivalent in the source; - #35: support for smart overwrite: overwrite on
import
/export
(-o
option) will now only be done if SHA1 hashes of a source and a target do not match. One can still force overwrite with a new option-O
; - #3: support for
rename
command allowing renaming of tracks in the database or on disk (for the latter specify the.djv
file extension); - #36: support for
dbinfo
command showing a lot of information about Dejavu database and AdVent metadata in it.-c
option will additionally run consistency checks on the database; - #42: support for
vacuum
command which optimizes database performance. An additional option-f
will perform "hard" vacuuming by rebuilding all the tables. Operations modifying the database will now internally execute VACUUM at the end of transaction. - #57: long operations will now be displayed using nice progress bars, thanks to the amazing alive-progress package;
- #4: support for directory tree scanning. It is now possible to pass folders to the
- documentation was augmented with a table of presets for recognition options, as well as with "other uses" section;
- fix deprecation warning from the latest PIP 22.3 on Fedora;
- deprecate Logitech Harmony Hub and announce forthcoming support for BroadLink Universal Remote;
- various internal refactoring.
1.4.0
Features:
- #13: add support for microphone as input. Actually, it has been implicitly supported from day one - just never tested nor documented;
- #14: add support for
--action
option allowing to select TV action betweenmute
andlower_volume
(new feature). Mute action remains a default; - #14: add support for
--volume
option allowing to specify target volume for thelower_volume
action. See documentation for volume specifier formats; - #10: add support for
--mute_timeout
option allowing to specify in seconds a TV action timeout, after which TV volume is restored to its original value. The default is 600 s (10 mins);0
disables timeout; - #37: incorporate results of Dejavu tuning, providing for about two times better recognition in expense of increased CPU load. This feature requires a new Dejavu release 0.1.3-ds1.3.0 and regeneration of jingles database (v20220909 or later). As a consequence, the default for hit confidence
--rec_confidence
is restored from 5% to 10%; - #40: treat jingles without entry/exit flags as non-actionable instead of always actionable;
- various internal refactoring.
1.3.0
1.2.0
1.1.0
Features:
- #18: support
--tv_control nil
(TV control having no effect), which is useful in testing and jingle fingerprinting; - #9: new option
--log
to log all events into a file. Levelsevents
anddebug
are supported; - minor improvements in startup reporting (app version and TV control in effect are now reported). Jingle ID is no longer reported during a hit because it has no practical use and may vary from one database to another.
1.0.1
1.0.0
First public release. Main features:
- support for general purpose Linux boxes (Fedora) and for Raspberry Pi;
- support for PulseAudio input and for digital audio connection to TV (using a HiFiBerry sound card);
- support for Logitech Harmony Hub to control TV;
- a tool to share contents of a Dejavu database;
- PIP-compatible packaging;
- documentation.