]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
Merge topic branch t/play into pu
authorAndre Noll <maan@tuebingen.mpg.de>
Sun, 17 Mar 2024 11:38:21 +0000 (12:38 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 17 Mar 2024 11:38:21 +0000 (12:38 +0100)
This small series contains a few minor tweaks for para_play. The most
obvious change is that para_play is no longer built on systems which
lack libreadline.

<!--
- para_play is no longer built if libreadline is not installed.
-->

* refs/heads/t/play:
  play: Shut down alsa on input EOF.
  play: Simplify and improve get_key_map_seq().
  play: Remove pointless goto in play_post_monitor().
  Return from filter_setup() so callers can reset the terminal.
  Let para_play depend on libreadline.

# Conflicts:
# configure.ac

1  2 
Makefile.real
audiod.c

diff --cc Makefile.real
index 21d5fc03477145f087be31a319838d636d3df2b2,bd2bd9d95fe8356f09e756268340f2f4cad52706..fec328a6adbe8be0e8d2d18ae9d0bc3740a10499
@@@ -34,263 -35,15 +34,263 @@@ m4depdir := $(build_dir)/m4dep
  lls_suite_dir := $(build_dir)/lls
  lls_m4_dir := m4/lls
  test_dir := t
 -yy_src_dir = yy
 -yy_build_dir = $(build_dir)/yy
 +yy_src_dir := yy
 +yy_build_dir := $(build_dir)/yy
 +
- executables := recv filter audioc write afh play
++executables := recv filter audioc write afh
 +ifneq ($(CRYPTOLIB),)
 +      ifeq ($(HAVE_OSL),yes)
 +      executables += server upgrade_db
 +              server_objs := $(addsuffix .o, \
 +                      server afh_common mp3_afh vss command net string \
 +                      signal time daemon http_send close_on_fork \
 +                      crypt_common base64 ipc dccp_send fd user_list \
 +                      chunk_queue afs aft mood mp score attribute blob \
 +                      playlist sched acl send_common udp_send color fec \
 +                      wma_afh wma_common sideband version lsu \
 +              )
 +              ifeq ($(CRYPTOLIB),openssl)
 +                      server_objs += openssl.o
 +              else
 +                      server_objs += gcrypt.o
 +              endif
 +              ifeq ($(NEED_OGG_OBJECTS),yes)
 +                      server_objs += ogg_afh_common.o
 +              endif
 +              ifeq ($(NEED_VORBIS_OBJECTS),yes)
 +                      server_objs += ogg_afh.o
 +              endif
 +              ifeq ($(NEED_SPEEX_OBJECTS),yes)
 +                      server_objs += spx_afh.o spx_common.o
 +              endif
 +              ifeq ($(NEED_OPUS_OBJECTS),yes)
 +                      server_objs += opus_afh.o opus_common.o
 +              endif
 +              ifeq ($(NEED_FLAC_OBJECTS),yes)
 +                      server_objs += flac_afh.o
 +              endif
 +              ifeq ($(HAVE_FAAD),yes)
 +                      server_objs += aac_afh.o mp4.o
 +              endif
 +              upgrade_db_objs := $(addsuffix .o, crypt_common exec fd string \
 +                      upgrade_db version base64)
 +      endif
 +endif
 +ifneq ($(CRYPTOLIB),)
 +      executables += client audiod
 +      client_objs := $(addsuffix .o, \
 +              client net string fd lsu sched stdin stdout time sideband client_common \
 +              buffer_tree crypt_common base64 version $(CRYPTOLIB) \
 +      )
 +      ifeq ($(HAVE_READLINE),yes)
 +              client_objs += interactive.o
 +      endif
 +      audiod_objs := $(addsuffix .o, \
 +              audiod signal string daemon stat net crypt_common base64 sideband \
 +              time grab_client filter_common wav_filter compress_filter amp_filter \
 +              http_recv dccp_recv recv_common fd sched write_common file_write \
 +              audiod_command fecdec_filter client_common udp_recv color fec \
 +              prebuffer_filter version bitstream imdct wma_common wmadec_filter \
 +              buffer_tree sync_filter lsu $(CRYPTOLIB) \
 +      )
 +      audiod_audio_formats := "wma"
 +      ifeq ($(NEED_VORBIS_OBJECTS),yes)
 +              audiod_objs += oggdec_filter.o
 +              audiod_audio_formats += ,"ogg"
 +      endif
 +      ifeq ($(NEED_SPEEX_OBJECTS),yes)
 +              audiod_objs += spxdec_filter.o spx_common.o
 +              audiod_audio_formats += ,"spx"
 +      endif
 +      ifeq ($(NEED_OPUS_OBJECTS),yes)
 +              audiod_objs += opusdec_filter.o opus_common.o
 +              audiod_audio_formats += ,"opus"
 +      endif
 +      ifeq ($(NEED_FLAC_OBJECTS),yes)
 +              audiod_objs += flacdec_filter.o
 +              audiod_audio_formats += ,"flac"
 +      endif
 +      ifeq ($(HAVE_FAAD),yes)
 +              audiod_objs += aacdec_filter.o
 +              audiod_audio_formats += ,"aac"
 +      endif
 +      ifeq ($(HAVE_MAD),yes)
 +              audiod_objs += mp3dec_filter.o
 +              audiod_audio_formats += ,"mp3"
 +      endif
 +      ifeq ($(HAVE_OSS),yes)
 +              audiod_objs += oss_write.o
 +      endif
 +      ifeq ($(HAVE_ALSA),yes)
 +              audiod_objs += alsa_write.o
 +      endif
 +      ifeq ($(NEED_AO_OBJECTS),yes)
 +              audiod_objs += ao_write.o
 +      endif
 +      ifeq ($(HAVE_SAMPLERATE),yes)
 +              audiod_objs += resample_filter.o check_wav.o
 +      endif
 +endif
 +ifneq ($(HAVE_OSS)-$(HAVE_ALSA),no-no)
 +      executables += mixer
 +      mixer_objs := $(addsuffix .o, mixer exec string fd time lsu version)
 +      ifeq ($(HAVE_OSS),yes)
 +              mixer_objs += oss_mix.o
 +      endif
 +      ifeq ($(HAVE_ALSA),yes)
 +              mixer_objs += alsa_mix.o
 +      endif
 +endif
 +ifeq ($(HAVE_CURSES),yes)
 +      executables += gui
 +      gui_objs := $(addsuffix .o, exec signal string stat ringbuffer fd \
 +              gui gui_theme lsu time sched version)
 +endif
 +filter_objs := $(addsuffix .o, \
 +      filter_common wav_filter compress_filter filter string stdin stdout \
 +      sched fd amp_filter fecdec_filter fec lsu version prebuffer_filter \
 +      time bitstream imdct wma_common wmadec_filter buffer_tree net \
 +      sync_filter \
 +)
 +ifeq ($(NEED_VORBIS_OBJECTS),yes)
 +      filter_objs += oggdec_filter.o
 +endif
 +ifeq ($(NEED_SPEEX_OBJECTS),yes)
 +      filter_objs += spxdec_filter.o spx_common.o
 +endif
 +ifeq ($(NEED_OPUS_OBJECTS),yes)
 +      filter_objs += opusdec_filter.o opus_common.o
 +endif
 +ifeq ($(NEED_FLAC_OBJECTS),yes)
 +      filter_objs += flacdec_filter.o
 +endif
 +ifeq ($(HAVE_FAAD),yes)
 +      filter_objs += aacdec_filter.o
 +endif
 +ifeq ($(HAVE_MAD),yes)
 +      filter_objs += mp3dec_filter.o
 +endif
 +ifeq ($(HAVE_SAMPLERATE),yes)
 +      filter_objs += resample_filter.o check_wav.o
 +endif
 +
 +recv_objs := $(addsuffix .o, \
 +      http_recv recv_common recv time string net dccp_recv fd sched stdout \
 +      udp_recv buffer_tree afh_recv afh_common wma_afh wma_common mp3_afh \
 +      version \
 +)
 +ifeq ($(NEED_OGG_OBJECTS),yes)
 +      recv_objs += ogg_afh_common.o
 +endif
 +ifeq ($(NEED_VORBIS_OBJECTS),yes)
 +      recv_objs += ogg_afh.o
 +endif
 +ifeq ($(NEED_SPEEX_OBJECTS),yes)
 +      recv_objs += spx_afh.o spx_common.o
 +endif
 +ifeq ($(NEED_OPUS_OBJECTS),yes)
 +      recv_objs += opus_afh.o opus_common.o
 +endif
 +ifeq ($(NEED_FLAC_OBJECTS),yes)
 +      recv_objs += flac_afh.o
 +endif
 +ifeq ($(HAVE_FAAD),yes)
 +      recv_objs += aac_afh.o mp4.o
 +endif
 +
 +audio_format_handlers := mp3 wma
 +afh_objs := $(addsuffix .o, afh string fd mp3_afh afh_common time wma_afh \
 +      wma_common version)
 +ifeq ($(NEED_OGG_OBJECTS),yes)
 +      afh_objs += ogg_afh_common.o
 +endif
 +ifeq ($(NEED_VORBIS_OBJECTS),yes)
 +      afh_objs += ogg_afh.o
 +      audio_format_handlers += ogg
 +endif
 +ifeq ($(NEED_SPEEX_OBJECTS),yes)
 +      afh_objs += spx_common.o
 +      audio_format_handlers += spx
 +endif
 +ifeq ($(NEED_OPUS_OBJECTS),yes)
 +      afh_objs += opus_afh.o opus_common.o
 +      audio_format_handlers += opus
 +endif
 +ifeq ($(NEED_FLAC_OBJECTS),yes)
 +      afh_objs += flac_afh.o
 +      audio_format_handlers += flac
 +endif
 +ifeq ($(HAVE_FAAD),yes)
 +      afh_objs += aac_afh.o mp4.o
 +      audio_format_handlers += aac
 +endif
 +
- play_objs := $(addsuffix .o, \
-       play fd sched buffer_tree time string net afh_recv afh_common \
-       wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \
-       filter_common fec bitstream imdct wav_filter compress_filter \
-       amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \
-       file_write version sync_filter lsu \
- )
- ifeq ($(NEED_OGG_OBJECTS),yes)
-       play_objs += ogg_afh_common.o
- endif
- ifeq ($(NEED_VORBIS_OBJECTS),yes)
-       play_objs += oggdec_filter.o ogg_afh.o
- endif
- ifeq ($(NEED_SPEEX_OBJECTS),yes)
-       play_objs += spxdec_filter.o spx_afh.o spx_common.o
- endif
- ifeq ($(NEED_OPUS_OBJECTS),yes)
-       play_objs += opusdec_filter.o opus_afh.o opus_common.o
- endif
- ifeq ($(NEED_FLAC_OBJECTS),yes)
-       play_objs += flacdec_filter.o flac_afh.o
- endif
- ifeq ($(HAVE_FAAD),yes)
-       play_objs += aac_afh.o aacdec_filter.o mp4.o
- endif
- ifeq ($(HAVE_MAD),yes)
-       play_objs += mp3dec_filter.o
- endif
- ifeq ($(HAVE_OSS),yes)
-       play_objs += oss_write.o
- endif
- ifeq ($(HAVE_ALSA),yes)
-       play_objs += alsa_write.o
- endif
- ifeq ($(NEED_AO_OBJECTS),yes)
-       play_objs += ao_write.o
- endif
 +ifeq ($(HAVE_READLINE),yes)
-       play_objs += interactive.o
- endif
- ifeq ($(HAVE_SAMPLERATE),yes)
-       play_objs += resample_filter.o check_wav.o
++      executables += play
++      play_objs := $(addsuffix .o, \
++              play fd sched buffer_tree time string net afh_recv afh_common \
++              wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \
++              filter_common fec bitstream imdct wav_filter compress_filter \
++              amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \
++              file_write version sync_filter lsu interactive \
++      )
++      ifeq ($(NEED_OGG_OBJECTS),yes)
++              play_objs += ogg_afh_common.o
++      endif
++      ifeq ($(NEED_VORBIS_OBJECTS),yes)
++              play_objs += oggdec_filter.o ogg_afh.o
++      endif
++      ifeq ($(NEED_SPEEX_OBJECTS),yes)
++              play_objs += spxdec_filter.o spx_afh.o spx_common.o
++      endif
++      ifeq ($(NEED_OPUS_OBJECTS),yes)
++              play_objs += opusdec_filter.o opus_afh.o opus_common.o
++      endif
++      ifeq ($(NEED_FLAC_OBJECTS),yes)
++              play_objs += flacdec_filter.o flac_afh.o
++      endif
++      ifeq ($(HAVE_FAAD),yes)
++              play_objs += aac_afh.o aacdec_filter.o mp4.o
++      endif
++      ifeq ($(HAVE_MAD),yes)
++              play_objs += mp3dec_filter.o
++      endif
++      ifeq ($(HAVE_OSS),yes)
++              play_objs += oss_write.o
++      endif
++      ifeq ($(HAVE_ALSA),yes)
++              play_objs += alsa_write.o
++      endif
++      ifeq ($(NEED_AO_OBJECTS),yes)
++              play_objs += ao_write.o
++      endif
++      ifeq ($(HAVE_SAMPLERATE),yes)
++              play_objs += resample_filter.o check_wav.o
++      endif
 +endif
 +
 +write_objs := $(addsuffix .o, write write_common file_write time fd \
 +      string sched stdin buffer_tree check_wav version)
 +ifeq ($(NEED_AO_OBJECTS),yes)
 +      write_objs += ao_write.o
 +endif
 +ifeq ($(HAVE_OSS),yes)
 +      write_objs += oss_write.o
 +endif
 +ifeq ($(HAVE_ALSA),yes)
 +      write_objs += alsa_write.o
 +endif
 +
 +audioc_objs := $(addsuffix .o, audioc string lsu net fd time version)
 +ifeq ($(HAVE_READLINE),yes)
 +      audioc_objs += buffer_tree.o interactive.o sched.o
 +endif
  
  # sort removes duplicate words, which is all we need here
 -all_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
 +dep_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
        $(audiod_objs) $(audioc_objs) $(mixer_objs) $(server_objs) \
 -      $(write_objs) $(afh_objs) $(play_objs))
 -deps := $(addprefix $(dep_dir)/, $(all_objs:.o=.d))
 -deps += $(addprefix $(dep_dir)/, mp.bison.d mp.flex.d)
 +      $(write_objs) $(afh_objs) $(play_objs) mp.bison mp.flex)
 +deps := $(addprefix $(dep_dir)/, $(dep_objs:.o=.d))
  
  afh_objs += afh.lsg.o
  audioc_objs += audioc.lsg.o
diff --cc audiod.c
Simple merge