Fix: Mapper counter reset (#795)

Bug Fixes
Fixed playlist counter assignments so values reset correctly during each refresh.
Corrected counter displays to consistently show their configured starting values.
Improved counter comparisons to detect changes in starting values accurately.
This commit is contained in:
euzu
2026-07-21 11:21:34 +02:00
committed by GitHub
parent b0ac44372c
commit ab4031e567
3 changed files with 8 additions and 7 deletions
+4 -1
View File
@@ -323,11 +323,14 @@ fn map_playlist_counter(target: &ConfigTarget, playlist: &mut [PlaylistGroup]) {
for mapping in mappings {
if let Some(counter_list) = &mapping.t_counter {
for counter in counter_list {
// fresh per target/call. No shared atomic, no cross-refresh carry-over.
let mut current = counter.start;
for plg in &mut *playlist {
for channel in &mut plg.channels {
let provider = ValueProvider { pli: channel, match_as_ascii: mapping.match_as_ascii };
if counter.filter.filter(&provider) {
let cntval = counter.value.fetch_add(1, core::sync::atomic::Ordering::AcqRel);
let cntval = current;
current += 1;
let padded_cntval = if counter.padding > 0 {
format!("{:0width$}", cntval, width = counter.padding as usize)
} else {