Skip to content
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

predicate.signal no longer appears to work with switch operator #4282

Open
brenc opened this issue Dec 22, 2024 · 0 comments
Open

predicate.signal no longer appears to work with switch operator #4282

brenc opened this issue Dec 22, 2024 · 0 comments
Labels

Comments

@brenc
Copy link

brenc commented Dec 22, 2024

Description

I was experimenting with this pattern from the book and noticed it no longer appears to work:

jingle_signal = predicate.signal()
radio =
  switch(
    track_sensitive=false, [(jingle_signal, sine(220.)), ({true}, sine(440.))]
  )
thread.run(every=10., {jingle_signal.signal()})

440 plays continuously but 220 (the "jingle") never does. Every time the signal runs, I see this in the logs:

liquidsoap-1  | 2024/12/22 20:14:55 [switch:3] Switch to sine with transition.
liquidsoap-1  | 2024/12/22 20:14:55 [switch:3] Switch to sine.2 with transition.

I'm using sine here but this happens with single, playlist, etc.

Steps to reproduce

Steps above.

Expected behavior

A signal should make the source available.

Liquidsoap version

2.3.0

Liquidsoap build config

* Liquidsoap version  : 2.3.0

 * Compilation options
   - Release build       : true
   - Git SHA             : (none)
   - OCaml version       : 4.14.2
   - OS type             : Unix
   - Libs versions       : alsa=0.3.0 angstrom=0.16.1 ao=0.2.4 asetmap=0.8.1 asn1-combinators=0.3.2 astring=0.8.5 base=v0.16.3 base.base_internalhash_types=v0.16.3 base.caml=v0.16.3 base.shadow_stdlib=v0.16.3 base64=3.5.1 bigarray=[distributed with Ocaml] bigarray-compat=1.1.0 bigstringaf=0.10.0 bjack=0.1.6 bos=0.2.1 bytes=[distributed with OCaml 4.02 or above] ca-certs=v1.0.0 camlp-streams camomile.lib=2.0 cohttp=5.3.1 cohttp-lwt=5.3.0 cohttp-lwt-unix=5.3.0 conduit=7.1.0 conduit-lwt=7.1.0 conduit-lwt-unix=7.1.0 cry=1.0.3 cstruct=6.2.0 ctypes=0.23.0 ctypes-foreign=0.23.0 ctypes.stubs=0.23.0 curl=0.9.2 digestif.c=1.2.0 domain-name=0.4.0 domain_shims dssi=0.1.5 dtools=0.4.5 dune-build-info=3.16.1 dune-private-libs.dune-section=3.16.1 dune-site=3.16.1 dune-site.private=3.16.1 duppy=0.9.4 eqaf=0.10 faad=0.5.2 fdkaac=0.3.3 ffmpeg-av=1.2.1 ffmpeg-avcodec=1.2.1 ffmpeg-avdevice=1.2.1 ffmpeg-avfilter=1.2.1 ffmpeg-avutil=1.2.1 ffmpeg-swresample=1.2.1 ffmpeg-swscale=1.2.1 fileutils=0.6.4 flac=0.5.1 flac.decoder=0.5.1 flac.ogg=0.5.1 fmt=0.9.0 fpath=0.7.3 frei0r=0.1.2 gd=1.1 gen=1.1 gmap=0.3.0 inotify=v2.6 integers ipaddr=5.6.0 ipaddr-sexp=5.6.0 ipaddr.unix=5.6.0 irc-client irc-client-unix kdf.hkdf=1.0.0 kdf.pbkdf=1.0.0 ladspa=0.2.2 lame=0.3.7 lastfm=0.3.4 lilv=0.2.0 liquidsoap-lang=2.3.0 liquidsoap-lang.console=2.3.0 liquidsoap_alsa=v2.3.0-2-g658a641 liquidsoap_ao=v2.3.0-2-g658a641 liquidsoap_bjack=v2.3.0-2-g658a641 liquidsoap_builtins=v2.3.0-2-g658a641 liquidsoap_core=v2.3.0-2-g658a641 liquidsoap_dssi=v2.3.0-2-g658a641 liquidsoap_faad=v2.3.0-2-g658a641 liquidsoap_fdkaac=v2.3.0-2-g658a641 liquidsoap_ffmpeg=v2.3.0-2-g658a641 liquidsoap_flac=v2.3.0-2-g658a641 liquidsoap_frei0r=v2.3.0-2-g658a641 liquidsoap_gd=v2.3.0-2-g658a641 liquidsoap_irc=v2.3.0-2-g658a641 liquidsoap_ladspa=v2.3.0-2-g658a641 liquidsoap_lame=v2.3.0-2-g658a641 liquidsoap_lastfm=v2.3.0-2-g658a641 liquidsoap_lilv=v2.3.0-2-g658a641 liquidsoap_lo=v2.3.0-2-g658a641 liquidsoap_mad=v2.3.0-2-g658a641 liquidsoap_ndi=v2.3.0-2-g658a641 liquidsoap_ogg=v2.3.0-2-g658a641 liquidsoap_ogg_flac=v2.3.0-2-g658a641 liquidsoap_optionals=v2.3.0-2-g658a641 liquidsoap_opus=v2.3.0-2-g658a641 liquidsoap_osc=v2.3.0-2-g658a641 liquidsoap_oss=v2.3.0-2-g658a641 liquidsoap_portaudio=v2.3.0-2-g658a641 liquidsoap_posix_time=v2.3.0-2-g658a641 liquidsoap_prometheus=v2.3.0-2-g658a641 liquidsoap_pulseaudio=v2.3.0-2-g658a641 liquidsoap_runtime=v2.3.0-2-g658a641 liquidsoap_samplerate=v2.3.0-2-g658a641 liquidsoap_sdl=v2.3.0-2-g658a641 liquidsoap_sdl_log_level=v2.3.0-2-g658a641 liquidsoap_shine=v2.3.0-2-g658a641 liquidsoap_soundtouch=v2.3.0-2-g658a641 liquidsoap_speex=v2.3.0-2-g658a641 liquidsoap_sqlite=v2.3.0-2-g658a641 liquidsoap_srt=v2.3.0-2-g658a641 liquidsoap_ssl=v2.3.0-2-g658a641 liquidsoap_stereotool=v2.3.0-2-g658a641 liquidsoap_theora=v2.3.0-2-g658a641 liquidsoap_tls=v2.3.0-2-g658a641 liquidsoap_vorbis=v2.3.0-2-g658a641 liquidsoap_xmlplaylist=v2.3.0-2-g658a641 liquidsoap_yaml=v2.3.0-2-g658a641 lo=0.2.0 logs=0.7.0 logs.fmt=0.7.0 logs.lwt=0.7.0 lwt lwt.unix macaddr=5.6.0 mad=0.5.3 magic-mime=1.3.1 mem_usage=0.1.1 memtrace=0.2.3 menhirLib=20240715 metadata=0.3.0 mirage-crypto=1.1.0 mirage-crypto-ec=1.1.0 mirage-crypto-pk=1.1.0 mirage-crypto-rng=1.1.0 mirage-crypto-rng.unix=1.1.0 mm=0.8.6 mm.audio=0.8.6 mm.base=0.8.6 mm.image=0.8.6 mm.midi=0.8.6 mm.video=0.8.6 ndi=v2.3.0-2-g658a641 ocplib-endian ocplib-endian.bigstring ogg=0.7.4 ogg.decoder=0.7.4 ohex opus=0.2.3 opus.decoder=0.2.3 osc osc-unix portaudio=0.2.3 posix-base=5a7f328 posix-socket=5a7f328 posix-socket.constants=5a7f328 posix-socket.stubs=5a7f328 posix-socket.types=5a7f328 posix-time2=5a7f328 posix-time2.constants=5a7f328 posix-time2.stubs=5a7f328 posix-time2.types=5a7f328 posix-types=5a7f328 posix-types.constants=5a7f328 ppx_compare.runtime-lib=v0.16.0 ppx_hash.runtime-lib=v0.16.0 ppx_sexp_conv.runtime-lib=v0.16.0 prometheus=1.2 prometheus-app=1.2 ptime=1.2.0 ptime.clock=1.2.0 ptime.clock.os=1.2.0 pulseaudio=0.1.6 re=1.12.0 result=1.5 rresult=0.7.0 samplerate=0.1.7 saturn_lockfree=0.4.1 sedlex=3.3 seq=[distributed with OCaml 4.07 or above] sexplib0=v0.16.0 shine=0.2.3 soundtouch=0.1.9 speex=0.4.2 speex.decoder=0.4.2 sqlite3=5.2.0 srt=0.3.1 srt.constants=0.3.1 srt.stubs=0.3.1 srt.stubs.locked=0.3.1 srt.types=0.3.1 ssl=0.7.0 stdlib-shims=0.3.0 stereotool=v2.3.0-2-g658a641 str=[distributed with Ocaml] stringext=1.6.0 theora=0.4.1 theora.decoder=0.4.1 threads=[distributed with Ocaml] threads.posix=[internal] tls=1.0.2 tsdl=v1.1.0 tsdl-image=0.5 tsdl-ttf=0.6 unix=[distributed with Ocaml] unix-errno=52c6ecb unix-errno.errno_bindings=52c6ecb unix-errno.errno_types=52c6ecb unix-errno.errno_types_detected=52c6ecb unix-errno.unix=52c6ecb uri=4.4.0 uri-sexp=4.4.0 uri.services=4.4.0 vorbis=0.8.1 vorbis.decoder=0.8.1 x509=1.0.5 xmlm=1.4.0 xmlplaylist=0.1.5 yaml=3.2.0 yaml.bindings=3.2.0 yaml.bindings.types=3.2.0 yaml.c=3.2.0 yaml.ffi=3.2.0 yaml.types=3.2.0 zarith=1.14
   - architecture        : amd64
   - host                : x86_64-pc-linux-gnu
   - target              : x86_64-pc-linux-gnu
   - system              : linux
   - ocamlopt_cflags     : -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC
   - native_c_compiler   : gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64
   - native_c_libraries  : -lm

 * Configured paths
   - mode              : posix
   - standard library  : /usr/share/liquidsoap/libs
   - scripted binaries : /usr/share/liquidsoap/bin
   - rundir            : /var/run/liquidsoap
   - logdir            : /var/log/liquidsoap
   - user cache        : $HOME/.cache/liquidsoap (override with $LIQ_CACHE_USER_DIR)
   - system cache      : /var/cache/liquidsoap (override with $LIQ_CACHE_SYSTEM_DIR)
   - camomile files    : /usr/share/liquidsoap/camomile

 * Supported input formats
   - MP3               : yes
   - AAC               : yes
   - Ffmpeg            : yes
   - Flac (native)     : yes
   - Flac (ogg)        : yes
   - Opus              : yes
   - Speex             : yes
   - Theora            : yes
   - Vorbis            : yes
   - WAV/AIFF          : yes (native)

 * Supported output formats
   - FDK-AAC           : yes
   - FFmpeg            : yes
   - MP3               : yes
   - MP3 (fixed-point) : yes
   - Flac (native)     : yes
   - Flac (ogg)        : yes
   - Opus              : yes
   - Speex             : yes
   - Theora            : yes
   - Vorbis            : yes
   - WAV/AIFF          : yes (native)

 * Tags
   - AAC               : yes
   - FFmpeg            : yes
   - FLAC (native)     : yes
   - Flac (ogg)        : yes
   - Native decoder    : yes
   - Vorbis            : yes

 * Input / output
   - ALSA              : yes
   - AO                : yes
   - FFmpeg            : yes
   - JACK              : yes
   - NDI               : yes
   - OSS               : yes
   - Portaudio         : yes
   - Pulseaudio        : yes
   - SRT               : yes

 * Audio manipulation
   - FFmpeg            : yes
   - LADSPA            : yes
   - Lilv              : yes
   - Samplerate        : yes
   - SoundTouch        : yes
   - StereoTool        : yes

 * Video manipulation
   - camlimages        : no (requires camlimages)
   - FFmpeg            : yes
   - frei0r            : yes
   - ImageLib          : no (requires imagelib)
   - SDL               : yes

 * MIDI manipulation
   - DSSI              : yes

 * Visualization
   - GD                : yes
   - Graphics          : no (requires graphics)
   - SDL               : yes

 * Additional libraries
   - FFmpeg filters    : yes
   - FFmpeg devices    : yes
   - inotify           : yes
   - irc               : yes
   - jemalloc          : no (requires jemalloc)
   - lastfm            : yes
   - lo                : yes
   - memtrace          : yes
   - osc               : yes
   - ssl               : yes
   - sqlite3           : yes
   - tls               : yes
   - posix-time2       : yes
   - windows service   : no (requires winsvc)
   - YAML support      : yes
   - XML playlists     : yes

 * Monitoring
   - Prometheus        : yes

Installation method

From official container image

Additional Info

No response

@brenc brenc added the bug label Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant