From c7c0b86afa255983db3def0a15e1201455ade460 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Sat, 30 Oct 2010 16:29:27 -0400 Subject: Added a check in alsa sink if error has occurred due to blocking; if so, it will just drop samples and not get backed up. Patch taken from Marcus Leech 10/29/2010. --- gr-audio-alsa/src/audio_alsa_sink.cc | 12 +++++++++--- gr-audio-alsa/src/audio_alsa_sink.h | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc index d6b7f84cf..c28e23fea 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.cc +++ b/gr-audio-alsa/src/audio_alsa_sink.cc @@ -90,7 +90,7 @@ audio_alsa_sink::audio_alsa_sink (int sampling_rate, d_period_size (0), d_buffer_size_bytes (0), d_buffer (0), d_worker (0), d_special_case_mono_to_stereo (false), - d_nunderuns (0), d_nsuspends (0) + d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block) { CHATTY_DEBUG = gr_prefs::singleton()->get_bool("audio_alsa", "verbose", false); @@ -100,6 +100,8 @@ audio_alsa_sink::audio_alsa_sink (int sampling_rate, // open the device for playback error = snd_pcm_open(&d_pcm_handle, d_device_name.c_str (), SND_PCM_STREAM_PLAYBACK, 0); + if (ok_to_block == false) + snd_pcm_nonblock(d_pcm_handle, !ok_to_block); if (error < 0){ fprintf (stderr, "audio_alsa_sink[%s]: %s\n", d_device_name.c_str(), snd_strerror(error)); @@ -287,7 +289,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) default: assert (0); } - return true; } @@ -489,7 +490,12 @@ audio_alsa_sink::write_buffer (const void *vbuffer, while (nframes > 0){ int r = snd_pcm_writei (d_pcm_handle, buffer, nframes); if (r == -EAGAIN) - continue; // try again + { + if (d_ok_to_block == true) + continue; // try again + + break; + } else if (r == -EPIPE){ // underrun d_nunderuns++; diff --git a/gr-audio-alsa/src/audio_alsa_sink.h b/gr-audio-alsa/src/audio_alsa_sink.h index d4b540382..f3007f60f 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.h +++ b/gr-audio-alsa/src/audio_alsa_sink.h @@ -83,6 +83,7 @@ class audio_alsa_sink : public gr_sync_block { // random stats int d_nunderuns; // count of underruns int d_nsuspends; // count of suspends + bool d_ok_to_block; // defaults to "true", controls blocking/non-block I/O void output_error_msg (const char *msg, int err); void bail (const char *msg, int err) throw (std::runtime_error); -- cgit From b47b9ca40ecf49afa44c993b8da9af4ff876c9ba Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Wed, 13 Oct 2010 22:25:16 -0600 Subject: regenerated from template --- gr-audio-alsa/src/Makefile.swig.gen | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 3a84a02b4..16342ac27 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -72,7 +72,7 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_alsa.py audio_alsa.cc +swig_built_sources += audio_alsa.py audio_alsa-python.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -86,7 +86,7 @@ audio_alsa_pylib_LTLIBRARIES = \ _audio_alsa.la _audio_alsa_la_SOURCES = \ - audio_alsa.cc \ + audio_alsa-python.cc \ $(audio_alsa_la_swig_sources) _audio_alsa_la_LIBADD = \ @@ -107,7 +107,7 @@ audio_alsa_python_PYTHON = \ ## Entry rule for running SWIG -audio_alsa.h audio_alsa.py audio_alsa.cc: audio_alsa.i +audio_alsa.h audio_alsa.py audio_alsa-python.cc: audio_alsa.i ## This rule will get called only when MAKE decides that one of the ## targets needs to be created or re-created, because: ## @@ -159,11 +159,12 @@ audio_alsa.h audio_alsa.py audio_alsa.cc: audio_alsa.i ## ## Remove the stamp associated with this filename. ## - rm -f $(DEPDIR)/audio_alsa-generate-stamp; \ + rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ ## ## Tell MAKE to run the rule for creating this stamp. ## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-stamp WHAT=$<; \ + $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-python-stamp WHAT=$<; \ + $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-guile-stamp WHAT=$<; \ ## ## Now that the .cc, .h, and .py files have been (re)created from the ## .i file, future checking of this rule during the same MAKE @@ -187,11 +188,27 @@ audio_alsa.h audio_alsa.py audio_alsa.cc: audio_alsa.i ## Succeed if and only if the first process succeeded; exit this ## process returning the status of the generated stamp. ## - test -f $(DEPDIR)/audio_alsa-generate-stamp; \ + test -f $(DEPDIR)/audio_alsa-generate-python-stamp; \ exit $$?; \ fi; -$(DEPDIR)/audio_alsa-generate-stamp: +$(DEPDIR)/audio_alsa-generate-guile-stamp: + if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ + -MD -MF $(DEPDIR)/audio_alsa.Std \ + -module audio_alsa -o audio_alsa-guile.cc $(WHAT); then \ + if test $(host_os) = mingw32; then \ + $(RM) $(DEPDIR)/audio_alsa.Sd; \ + $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ + > $(DEPDIR)/audio_alsa.Sd; \ + $(RM) $(DEPDIR)/audio_alsa.Std; \ + $(MV) $(DEPDIR)/audio_alsa.Sd $(DEPDIR)/audio_alsa.Std; \ + fi; \ + else \ + $(RM) $(DEPDIR)/audio_alsa.S*; exit 1; \ + fi; + touch $(DEPDIR)/audio_alsa-generate-guile-stamp + +$(DEPDIR)/audio_alsa-generate-python-stamp: ## This rule will be called only by the first process issuing the ## above rule to succeed in creating the lock directory, after ## removing the actual stamp file in order to guarantee that MAKE will @@ -202,7 +219,7 @@ $(DEPDIR)/audio_alsa-generate-stamp: ## if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_alsa_swig_args) \ -MD -MF $(DEPDIR)/audio_alsa.Std \ - -module audio_alsa -o audio_alsa.cc $(WHAT); then \ + -module audio_alsa -o audio_alsa-python.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/audio_alsa.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ @@ -249,7 +266,7 @@ $(DEPDIR)/audio_alsa-generate-stamp: ## executing this rule; allows other threads waiting on this process ## to continue. ## - touch $(DEPDIR)/audio_alsa-generate-stamp + touch $(DEPDIR)/audio_alsa-generate-python-stamp # KLUDGE: Force runtime include of a SWIG dependency file. This is # not guaranteed to be portable, but will probably work. If it works, -- cgit From ed4094208c501e91838ccc333059e4731e8ae908 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 14 Oct 2010 12:34:08 -0600 Subject: regenerated after changes to the template --- gr-audio-alsa/src/Makefile.swig.gen | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 16342ac27..cede38fd0 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -72,7 +72,7 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_alsa.py audio_alsa-python.cc +swig_built_sources += audio_alsa.py audio_alsa_python.cc ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -83,21 +83,21 @@ audio_alsa_swiginclude_HEADERS = \ $(audio_alsa_swiginclude_headers) audio_alsa_pylib_LTLIBRARIES = \ - _audio_alsa.la + _audio_alsa_python.la -_audio_alsa_la_SOURCES = \ - audio_alsa-python.cc \ +_audio_alsa_python_la_SOURCES = \ + audio_alsa_python.cc \ $(audio_alsa_la_swig_sources) -_audio_alsa_la_LIBADD = \ +_audio_alsa_python_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) -_audio_alsa_la_LDFLAGS = \ +_audio_alsa_python_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_alsa_la_swig_ldflags) -_audio_alsa_la_CXXFLAGS = \ +_audio_alsa_python_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ $(audio_alsa_la_swig_cxxflags) @@ -105,9 +105,23 @@ audio_alsa_python_PYTHON = \ audio_alsa.py \ $(audio_alsa_python) +if GUILE +audio_alsa_pylib_LTLIBRARIES += _audio_alsa_guile.la + +_audio_alsa_guile_la_SOURCES = \ + audio_alsa_guile.cc \ + $(audio_alsa_la_swig_sources) + +# Guile can use the same flags as python does +_audio_alsa_guile_la_LIBADD = $(_audio_alsa_python_la_LIBADD) +_audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_python_la_LDFLAGS) +_audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_python_la_CXXFLAGS) + +endif # end of GUILE + ## Entry rule for running SWIG -audio_alsa.h audio_alsa.py audio_alsa-python.cc: audio_alsa.i +audio_alsa.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i ## This rule will get called only when MAKE decides that one of the ## targets needs to be created or re-created, because: ## @@ -193,9 +207,10 @@ audio_alsa.h audio_alsa.py audio_alsa-python.cc: audio_alsa.i fi; $(DEPDIR)/audio_alsa-generate-guile-stamp: +if GUILE if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ -MD -MF $(DEPDIR)/audio_alsa.Std \ - -module audio_alsa -o audio_alsa-guile.cc $(WHAT); then \ + -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/audio_alsa.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ @@ -207,6 +222,7 @@ $(DEPDIR)/audio_alsa-generate-guile-stamp: $(RM) $(DEPDIR)/audio_alsa.S*; exit 1; \ fi; touch $(DEPDIR)/audio_alsa-generate-guile-stamp +endif $(DEPDIR)/audio_alsa-generate-python-stamp: ## This rule will be called only by the first process issuing the @@ -219,7 +235,7 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: ## if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_alsa_swig_args) \ -MD -MF $(DEPDIR)/audio_alsa.Std \ - -module audio_alsa -o audio_alsa-python.cc $(WHAT); then \ + -module audio_alsa -o audio_alsa_python.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ $(RM) $(DEPDIR)/audio_alsa.Sd; \ $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ -- cgit From b866f36454af0defea79d84647a8a1652fb2fbdb Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Sat, 16 Oct 2010 09:46:48 -0600 Subject: regenerated after changes to .i files --- gr-audio-alsa/src/Makefile.swig.gen | 53 ++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index cede38fd0..8b9075cbc 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -121,7 +121,7 @@ endif # end of GUILE ## Entry rule for running SWIG -audio_alsa.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i +audio_alsa_python.h audio_alsa.py audio_alsa_python.cc audio_alsa_guile.cc audio_alsa_guile.h: audio_alsa.i ## This rule will get called only when MAKE decides that one of the ## targets needs to be created or re-created, because: ## @@ -209,19 +209,28 @@ audio_alsa.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i $(DEPDIR)/audio_alsa-generate-guile-stamp: if GUILE if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa.Std \ + -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ - > $(DEPDIR)/audio_alsa.Sd; \ - $(RM) $(DEPDIR)/audio_alsa.Std; \ - $(MV) $(DEPDIR)/audio_alsa.Sd $(DEPDIR)/audio_alsa.Std; \ + $(RM) $(DEPDIR)/audio_alsa_guile.Sd; \ + $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_guile.Std \ + > $(DEPDIR)/audio_alsa_guile.Sd; \ + $(RM) $(DEPDIR)/audio_alsa_guile.Std; \ + $(MV) $(DEPDIR)/audio_alsa_guile.Sd $(DEPDIR)/audio_alsa_guile.Std; \ fi; \ else \ - $(RM) $(DEPDIR)/audio_alsa.S*; exit 1; \ + $(RM) $(DEPDIR)/audio_alsa_guile.S*; exit 1; \ fi; touch $(DEPDIR)/audio_alsa-generate-guile-stamp + $(RM) $(DEPDIR)/audio_alsa_guile.d + cp $(DEPDIR)/audio_alsa_guile.Std $(DEPDIR)/audio_alsa_guile.d + echo "" >> $(DEPDIR)/audio_alsa_guile.d + $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_guile.Std | \ + awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d + $(RM) $(DEPDIR)/audio_alsa_guile.Std + touch $(DEPDIR)/audio_alsa-generate-guile-stamp + +@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ endif $(DEPDIR)/audio_alsa-generate-python-stamp: @@ -234,17 +243,17 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: ## post-processing on 'mingw32' host OS for the dependency file. ## if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa.Std \ + -MD -MF $(DEPDIR)/audio_alsa_python.Std \ -module audio_alsa -o audio_alsa_python.cc $(WHAT); then \ if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa.Std \ - > $(DEPDIR)/audio_alsa.Sd; \ - $(RM) $(DEPDIR)/audio_alsa.Std; \ - $(MV) $(DEPDIR)/audio_alsa.Sd $(DEPDIR)/audio_alsa.Std; \ + $(RM) $(DEPDIR)/audio_alsa_python.Sd; \ + $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_python.Std \ + > $(DEPDIR)/audio_alsa_python.Sd; \ + $(RM) $(DEPDIR)/audio_alsa_python.Std; \ + $(MV) $(DEPDIR)/audio_alsa_python.Sd $(DEPDIR)/audio_alsa_python.Std; \ fi; \ else \ - $(RM) $(DEPDIR)/audio_alsa.S*; exit 1; \ + $(RM) $(DEPDIR)/audio_alsa_python.S*; exit 1; \ fi; ## ## Mess with the SWIG output .Std dependency file, to create a @@ -256,27 +265,27 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: ## ## (1) remove the current dependency file ## - $(RM) $(DEPDIR)/audio_alsa.d + $(RM) $(DEPDIR)/audio_alsa_python.d ## ## (2) Copy the whole SWIG file: ## - cp $(DEPDIR)/audio_alsa.Std $(DEPDIR)/audio_alsa.d + cp $(DEPDIR)/audio_alsa_python.Std $(DEPDIR)/audio_alsa_python.d ## ## (3) all a carriage return to the end of the dependency file. ## - echo "" >> $(DEPDIR)/audio_alsa.d + echo "" >> $(DEPDIR)/audio_alsa_python.d ## ## (4) from the SWIG file, remove the first line (the target); remove ## trailing " \" and " " from each line. Append ":" to each line, ## followed by 2 carriage returns, then append this to the end of ## the dependency file. ## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa.d + $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_python.Std | \ + awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_python.d ## ## (5) remove the SWIG-generated file ## - $(RM) $(DEPDIR)/audio_alsa.Std + $(RM) $(DEPDIR)/audio_alsa_python.Std ## ## Create the stamp for this filename generation, to signal success in ## executing this rule; allows other threads waiting on this process @@ -288,5 +297,5 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: # not guaranteed to be portable, but will probably work. If it works, # we have accurate dependencies for our swig stuff, which is good. -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa.d@am__quote@ +@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ -- cgit From 5ea1059c943a8a6dcb67c2a151f27b84b653f549 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 18 Oct 2010 18:15:58 -0600 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 54 ++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 8b9075cbc..6c39e2002 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -206,33 +206,6 @@ audio_alsa_python.h audio_alsa.py audio_alsa_python.cc audio_alsa_guile.cc audio exit $$?; \ fi; -$(DEPDIR)/audio_alsa-generate-guile-stamp: -if GUILE - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ - -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_guile.Std \ - > $(DEPDIR)/audio_alsa_guile.Sd; \ - $(RM) $(DEPDIR)/audio_alsa_guile.Std; \ - $(MV) $(DEPDIR)/audio_alsa_guile.Sd $(DEPDIR)/audio_alsa_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_alsa_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_alsa-generate-guile-stamp - $(RM) $(DEPDIR)/audio_alsa_guile.d - cp $(DEPDIR)/audio_alsa_guile.Std $(DEPDIR)/audio_alsa_guile.d - echo "" >> $(DEPDIR)/audio_alsa_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d - $(RM) $(DEPDIR)/audio_alsa_guile.Std - touch $(DEPDIR)/audio_alsa-generate-guile-stamp - -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ -endif - $(DEPDIR)/audio_alsa-generate-python-stamp: ## This rule will be called only by the first process issuing the ## above rule to succeed in creating the lock directory, after @@ -299,3 +272,30 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: @am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ +$(DEPDIR)/audio_alsa-generate-guile-stamp: +if GUILE + if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ + -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ + -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ + if test $(host_os) = mingw32; then \ + $(RM) $(DEPDIR)/audio_alsa_guile.Sd; \ + $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_guile.Std \ + > $(DEPDIR)/audio_alsa_guile.Sd; \ + $(RM) $(DEPDIR)/audio_alsa_guile.Std; \ + $(MV) $(DEPDIR)/audio_alsa_guile.Sd $(DEPDIR)/audio_alsa_guile.Std; \ + fi; \ + else \ + $(RM) $(DEPDIR)/audio_alsa_guile.S*; exit 1; \ + fi; + touch $(DEPDIR)/audio_alsa-generate-guile-stamp + $(RM) $(DEPDIR)/audio_alsa_guile.d + cp $(DEPDIR)/audio_alsa_guile.Std $(DEPDIR)/audio_alsa_guile.d + echo "" >> $(DEPDIR)/audio_alsa_guile.d + $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_guile.Std | \ + awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d + $(RM) $(DEPDIR)/audio_alsa_guile.Std + touch $(DEPDIR)/audio_alsa-generate-guile-stamp + +@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ +endif + -- cgit From 25bf9bbd0c5b702acf26e05d5a9966fd323f6614 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 18 Oct 2010 21:45:11 -0600 Subject: don't ifdef the target away. regenerate .gen files. --- gr-audio-alsa/src/Makefile.swig.gen | 51 ++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 7 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 6c39e2002..1036ec3b4 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -38,6 +38,16 @@ audio_alsa_pylibdir_category ?= $(audio_alsa_pythondir_category) audio_alsa_pythondir = $(pythondir)/$(audio_alsa_pythondir_category) audio_alsa_pylibdir = $(pyexecdir)/$(audio_alsa_pylibdir_category) +# The .so libraries for the guile modules get installed whereever guile +# is installed, usually /usr/lib/guile/gnuradio/ +# FIXME: determince whether these should be installed with gnuradio. +audio_alsa_scmlibdir = @GUILE_PKLIBDIR@/gnuradio + +# The scm files for the guile modules get installed where ever guile +# is installed, usually /usr/share/guile/site/audio_alsa +# FIXME: determince whether these should be installed with gnuradio. +audio_alsa_scmdir = @GUILE_PKDATADIR@/gnuradio + ## SWIG headers are always installed into the same directory. audio_alsa_swigincludedir = $(swigincludedir) @@ -73,6 +83,9 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## be added manually by the including Makefile.am . swig_built_sources += audio_alsa.py audio_alsa_python.cc +if GUILE +swig_built_sources += audio_alsa.scm audio_alsa_guile.cc +endif ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -106,11 +119,11 @@ audio_alsa_python_PYTHON = \ $(audio_alsa_python) if GUILE -audio_alsa_pylib_LTLIBRARIES += _audio_alsa_guile.la - +audio_alsa_scmlib_LTLIBRARIES = _audio_alsa_guile.la _audio_alsa_guile_la_SOURCES = \ - audio_alsa_guile.cc \ + audio_alsa_guile.cc \ $(audio_alsa_la_swig_sources) +audio_alsa_scm_DATA = audio_alsa.scm # Guile can use the same flags as python does _audio_alsa_guile_la_LIBADD = $(_audio_alsa_python_la_LIBADD) @@ -121,7 +134,8 @@ endif # end of GUILE ## Entry rule for running SWIG -audio_alsa_python.h audio_alsa.py audio_alsa_python.cc audio_alsa_guile.cc audio_alsa_guile.h: audio_alsa.i +# $(python_deps) $(guile_deps): audio_alsa.i +audio_alsa_python.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i ## This rule will get called only when MAKE decides that one of the ## targets needs to be created or re-created, because: ## @@ -178,7 +192,6 @@ audio_alsa_python.h audio_alsa.py audio_alsa_python.cc audio_alsa_guile.cc audio ## Tell MAKE to run the rule for creating this stamp. ## $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-python-stamp WHAT=$<; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-guile-stamp WHAT=$<; \ ## ## Now that the .cc, .h, and .py files have been (re)created from the ## .i file, future checking of this rule during the same MAKE @@ -206,6 +219,24 @@ audio_alsa_python.h audio_alsa.py audio_alsa_python.cc audio_alsa_guile.cc audio exit $$?; \ fi; +# the comments for the target above apply to this target as well, but it seemed +# silly to include them twice. The only main change is for guile. +audio_alsa_guile.h audio_alsa.scm audio_alsa_guile.cc: audio_alsa.i +if GUILE + trap 'rm -rf $(DEPDIR)/audio_alsa-generate-*' 1 2 13 15; \ + if mkdir $(DEPDIR)/audio_alsa-generate-lock 2>/dev/null; then \ + rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ + $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-guile-stamp WHAT=$<; \ + rmdir $(DEPDIR)/audio_alsa-generate-lock; \ + else \ + while test -d $(DEPDIR)/audio_alsa-generate-lock; do \ + sleep 1; \ + done; \ + test -f $(DEPDIR)/audio_alsa-generate-guile-stamp; \ + exit $$?; \ + fi; +endif # end of GUILE + $(DEPDIR)/audio_alsa-generate-python-stamp: ## This rule will be called only by the first process issuing the ## above rule to succeed in creating the lock directory, after @@ -272,8 +303,10 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: @am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ -$(DEPDIR)/audio_alsa-generate-guile-stamp: if GUILE +$(DEPDIR)/audio_alsa-generate-guile-stamp: +# the comments for the target above apply to this target as well, but it seemed +# silly to include them twice. The only main change is for guile. if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ @@ -295,7 +328,11 @@ if GUILE awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d $(RM) $(DEPDIR)/audio_alsa_guile.Std touch $(DEPDIR)/audio_alsa-generate-guile-stamp +else + touch $(DEPDIR)/audio_alsa-generate-guile-stamp +endif @am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ -endif + +#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i -- cgit From 42753aad1c8170bf1a4d4003d636ac5a81cbbda3 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 18 Oct 2010 22:07:32 -0600 Subject: regeneratd --- gr-audio-alsa/src/Makefile.swig.gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 1036ec3b4..a03dd8820 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -303,8 +303,8 @@ $(DEPDIR)/audio_alsa-generate-python-stamp: @am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ -if GUILE $(DEPDIR)/audio_alsa-generate-guile-stamp: +if GUILE # the comments for the target above apply to this target as well, but it seemed # silly to include them twice. The only main change is for guile. if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ -- cgit From aa162012cc25cf080ee744a2cb795a6154fcca86 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 21 Oct 2010 13:16:05 -0600 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 241 ++++-------------------------------- 1 file changed, 25 insertions(+), 216 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index a03dd8820..faee38cae 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -82,9 +82,11 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* ## .h file is sometimes built, but not always ... so that one has to ## be added manually by the including Makefile.am . -swig_built_sources += audio_alsa.py audio_alsa_python.cc +# generating the py or scm file also generates the .cc or .h files, +# but dependencies work better without the .cc ort .h files listed. +swig_built_sources += audio_alsa.py if GUILE -swig_built_sources += audio_alsa.scm audio_alsa_guile.cc +swig_built_sources += audio_alsa.scm endif ## Various SWIG variables. These can be overloaded in the including @@ -96,243 +98,50 @@ audio_alsa_swiginclude_HEADERS = \ $(audio_alsa_swiginclude_headers) audio_alsa_pylib_LTLIBRARIES = \ - _audio_alsa_python.la + _audio_alsa.la -_audio_alsa_python_la_SOURCES = \ - audio_alsa_python.cc \ +_audio_alsa_la_SOURCES = \ + python/audio_alsa.cc \ $(audio_alsa_la_swig_sources) -_audio_alsa_python_la_LIBADD = \ +_audio_alsa_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) -_audio_alsa_python_la_LDFLAGS = \ +# _audio_alsa_la_DEPENDENCIES = python/audio_alsa.lo + +_audio_alsa_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_alsa_la_swig_ldflags) -_audio_alsa_python_la_CXXFLAGS = \ +_audio_alsa_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ $(audio_alsa_la_swig_cxxflags) audio_alsa_python_PYTHON = \ audio_alsa.py \ - $(audio_alsa_python) + $(audio_alsa) if GUILE -audio_alsa_scmlib_LTLIBRARIES = _audio_alsa_guile.la -_audio_alsa_guile_la_SOURCES = \ - audio_alsa_guile.cc \ +audio_alsa_scmlib_LTLIBRARIES = audio_alsa_guile.la +audio_alsa_guile_la_SOURCES = \ + guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) audio_alsa_scm_DATA = audio_alsa.scm # Guile can use the same flags as python does -_audio_alsa_guile_la_LIBADD = $(_audio_alsa_python_la_LIBADD) -_audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_python_la_LDFLAGS) -_audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_python_la_CXXFLAGS) - -endif # end of GUILE +audio_alsa_guile_la_LIBADD = $(_audio_alsa_la_LIBADD) +audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) +audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) -## Entry rule for running SWIG - -# $(python_deps) $(guile_deps): audio_alsa.i -audio_alsa_python.h audio_alsa.py audio_alsa_python.cc: audio_alsa.i -## This rule will get called only when MAKE decides that one of the -## targets needs to be created or re-created, because: -## -## * The .i file is newer than any or all of the generated files; -## -## * Any or all of the .cc, .h, or .py files does not exist and is -## needed (in the case this file is not needed, the rule for it is -## ignored); or -## -## * Some SWIG-based dependecy of the .cc file isn't met and hence the -## .cc file needs be be regenerated. Explanation: Because MAKE -## knows how to handle dependencies for .cc files (regardless of -## their name or extension), then the .cc file is used as a target -## instead of the .i file -- but with the dependencies of the .i -## file. It is this last reason why the line: -## -## if test -f $@; then :; else -## -## cannot be used in this case: If a .i file dependecy is not met, -## then the .cc file needs to be rebuilt. But if the stamp is newer -## than the .cc file, and the .cc file exists, then in the original -## version (with the 'test' above) the internal MAKE call will not -## be issued and hence the .cc file will not be rebuilt. -## -## Once execution gets to here, it should always proceed no matter the -## state of a stamp (as discussed in link above). The -## $(DEPDIR)/audio_alsa-generate stuff is used to allow for parallel -## builds to "do the right thing". The stamp has no relationship with -## either the target files or dependency file; it is used solely for -## the protection of multiple builds during a given call to MAKE. -## -## Catch signals SIGHUP (1), SIGINT (2), SIGPIPE (13), and SIGTERM -## (15). At a caught signal, the quoted command will be issued before -## exiting. In this case, remove any stamp, whether temporary of not. -## The trap is valid until the process exits; the process includes all -## commands appended via "\"s. -## - trap 'rm -rf $(DEPDIR)/audio_alsa-generate-*' 1 2 13 15; \ -## -## Create a temporary directory, which acts as a lock. The first -## process to create the directory will succeed and issue the MAKE -## command to do the actual work, while all subsequent processes will -## fail -- leading them to wait for the first process to finish. -## - if mkdir $(DEPDIR)/audio_alsa-generate-lock 2>/dev/null; then \ -## -## This code is being executed by the first process to succeed in -## creating the directory lock. -## -## Remove the stamp associated with this filename. -## - rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ -## -## Tell MAKE to run the rule for creating this stamp. -## - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-python-stamp WHAT=$<; \ -## -## Now that the .cc, .h, and .py files have been (re)created from the -## .i file, future checking of this rule during the same MAKE -## execution will come back that the rule doesn't need to be executed -## because none of the conditions mentioned at the start of this rule -## will be positive. Remove the the directory lock, which frees up -## any waiting process(es) to continue. -## - rmdir $(DEPDIR)/audio_alsa-generate-lock; \ - else \ -## -## This code is being executed by any follower processes while the -## directory lock is in place. -## -## Wait until the first process is done, testing once per second. -## - while test -d $(DEPDIR)/audio_alsa-generate-lock; do \ - sleep 1; \ - done; \ -## -## Succeed if and only if the first process succeeded; exit this -## process returning the status of the generated stamp. -## - test -f $(DEPDIR)/audio_alsa-generate-python-stamp; \ - exit $$?; \ - fi; +guile/audio_alsa.lo: audio_alsa.lo +audio_alsa.scm: audio_alsa.i -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. -audio_alsa_guile.h audio_alsa.scm audio_alsa_guile.cc: audio_alsa.i -if GUILE - trap 'rm -rf $(DEPDIR)/audio_alsa-generate-*' 1 2 13 15; \ - if mkdir $(DEPDIR)/audio_alsa-generate-lock 2>/dev/null; then \ - rm -f $(DEPDIR)/audio_alsa-generate-*stamp; \ - $(MAKE) $(AM_MAKEFLAGS) $(DEPDIR)/audio_alsa-generate-guile-stamp WHAT=$<; \ - rmdir $(DEPDIR)/audio_alsa-generate-lock; \ - else \ - while test -d $(DEPDIR)/audio_alsa-generate-lock; do \ - sleep 1; \ - done; \ - test -f $(DEPDIR)/audio_alsa-generate-guile-stamp; \ - exit $$?; \ - fi; endif # end of GUILE -$(DEPDIR)/audio_alsa-generate-python-stamp: -## This rule will be called only by the first process issuing the -## above rule to succeed in creating the lock directory, after -## removing the actual stamp file in order to guarantee that MAKE will -## execute this rule. -## -## Call SWIG to generate the various output files; special -## post-processing on 'mingw32' host OS for the dependency file. -## - if $(SWIG) $(STD_SWIG_PYTHON_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa_python.Std \ - -module audio_alsa -o audio_alsa_python.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa_python.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_python.Std \ - > $(DEPDIR)/audio_alsa_python.Sd; \ - $(RM) $(DEPDIR)/audio_alsa_python.Std; \ - $(MV) $(DEPDIR)/audio_alsa_python.Sd $(DEPDIR)/audio_alsa_python.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_alsa_python.S*; exit 1; \ - fi; -## -## Mess with the SWIG output .Std dependency file, to create a -## dependecy file valid for the input .i file: Basically, simulate the -## dependency file created for libraries by GNU's libtool for C++, -## where all of the dependencies for the target are first listed, then -## each individual dependency is listed as a target with no further -## dependencies. -## -## (1) remove the current dependency file -## - $(RM) $(DEPDIR)/audio_alsa_python.d -## -## (2) Copy the whole SWIG file: -## - cp $(DEPDIR)/audio_alsa_python.Std $(DEPDIR)/audio_alsa_python.d -## -## (3) all a carriage return to the end of the dependency file. -## - echo "" >> $(DEPDIR)/audio_alsa_python.d -## -## (4) from the SWIG file, remove the first line (the target); remove -## trailing " \" and " " from each line. Append ":" to each line, -## followed by 2 carriage returns, then append this to the end of -## the dependency file. -## - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_python.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_python.d -## -## (5) remove the SWIG-generated file -## - $(RM) $(DEPDIR)/audio_alsa_python.Std -## -## Create the stamp for this filename generation, to signal success in -## executing this rule; allows other threads waiting on this process -## to continue. -## - touch $(DEPDIR)/audio_alsa-generate-python-stamp - -# KLUDGE: Force runtime include of a SWIG dependency file. This is -# not guaranteed to be portable, but will probably work. If it works, -# we have accurate dependencies for our swig stuff, which is good. - -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_python.d@am__quote@ - -$(DEPDIR)/audio_alsa-generate-guile-stamp: -if GUILE -# the comments for the target above apply to this target as well, but it seemed -# silly to include them twice. The only main change is for guile. - if $(SWIG) $(STD_SWIG_GUILE_ARGS) $(audio_alsa_swig_args) \ - -MD -MF $(DEPDIR)/audio_alsa_guile.Std \ - -module audio_alsa -o audio_alsa_guile.cc $(WHAT); then \ - if test $(host_os) = mingw32; then \ - $(RM) $(DEPDIR)/audio_alsa_guile.Sd; \ - $(SED) 's,\\\\,/,g' < $(DEPDIR)/audio_alsa_guile.Std \ - > $(DEPDIR)/audio_alsa_guile.Sd; \ - $(RM) $(DEPDIR)/audio_alsa_guile.Std; \ - $(MV) $(DEPDIR)/audio_alsa_guile.Sd $(DEPDIR)/audio_alsa_guile.Std; \ - fi; \ - else \ - $(RM) $(DEPDIR)/audio_alsa_guile.S*; exit 1; \ - fi; - touch $(DEPDIR)/audio_alsa-generate-guile-stamp - $(RM) $(DEPDIR)/audio_alsa_guile.d - cp $(DEPDIR)/audio_alsa_guile.Std $(DEPDIR)/audio_alsa_guile.d - echo "" >> $(DEPDIR)/audio_alsa_guile.d - $(SED) -e '1d;s, \\,,g;s, ,,g' < $(DEPDIR)/audio_alsa_guile.Std | \ - awk '{ printf "%s:\n\n", $$0 }' >> $(DEPDIR)/audio_alsa_guile.d - $(RM) $(DEPDIR)/audio_alsa_guile.Std - touch $(DEPDIR)/audio_alsa-generate-guile-stamp -else - touch $(DEPDIR)/audio_alsa-generate-guile-stamp -endif - -@am__include@ @am__quote@./$(DEPDIR)/audio_alsa_guile.d@am__quote@ +python/audio_alsa.lo: +audio_alsa.lo: audio_alsa.py audio_alsa.scm +audio_alsa.py: audio_alsa.i -#gnuradio_swig_py_runtime_python.h: gnuradio_swig_py_runtime.i -- cgit From 32a71023bf7350167fdd4f3797d384d47cafd71f Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 21 Oct 2010 13:17:11 -0600 Subject: add python/*.cc to SOURCES so dependencies work properly. --- gr-audio-alsa/src/Makefile.am | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index ed92cc197..fac75b89d 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -34,6 +34,11 @@ noinst_HEADERS = \ noinst_PYTHON = \ qa_alsa.py +if GUILE +noinst_GUILE = \ + qa_alsa.scm +endif + AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(WITH_INCLUDES) ################################### @@ -44,7 +49,8 @@ lib_LTLIBRARIES = libgnuradio-audio-alsa.la libgnuradio_audio_alsa_la_SOURCES = \ audio_alsa_sink.cc \ audio_alsa_source.cc \ - gri_alsa.cc + gri_alsa.cc \ + python/audio_alsa.cc libgnuradio_audio_alsa_la_LIBADD = \ $(GNURADIO_CORE_LA) \ @@ -79,4 +85,5 @@ BUILT_SOURCES = $(swig_built_sources) # Do not distribute the output of SWIG no_dist_files = $(swig_built_sources) -endif \ No newline at end of file + +endif -- cgit From 1e34972f4433cbfef3500fc73a285c7c436cfd6b Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 22 Oct 2010 22:00:09 -0700 Subject: Rengenerate Makefile.swig.gen's --- gr-audio-alsa/src/Makefile.swig.gen | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index faee38cae..6ba31a113 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -41,12 +41,12 @@ audio_alsa_pylibdir = $(pyexecdir)/$(audio_alsa_pylibdir_category) # The .so libraries for the guile modules get installed whereever guile # is installed, usually /usr/lib/guile/gnuradio/ # FIXME: determince whether these should be installed with gnuradio. -audio_alsa_scmlibdir = @GUILE_PKLIBDIR@/gnuradio +audio_alsa_scmlibdir = $(libdir)/guile/gnuradio # The scm files for the guile modules get installed where ever guile # is installed, usually /usr/share/guile/site/audio_alsa # FIXME: determince whether these should be installed with gnuradio. -audio_alsa_scmdir = @GUILE_PKDATADIR@/gnuradio +audio_alsa_scmdir = $(guiledir)/gnuradio ## SWIG headers are always installed into the same directory. @@ -144,4 +144,5 @@ python/audio_alsa.lo: audio_alsa.lo: audio_alsa.py audio_alsa.scm audio_alsa.py: audio_alsa.i +-include python/audio_alsa.d -- cgit From 6421d47062f4bf5abbdf26142616a5965f1edfa0 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 22 Oct 2010 23:28:06 -0700 Subject: regenerate --- gr-audio-alsa/src/Makefile.swig.gen | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 6ba31a113..8ab5d5442 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -41,7 +41,7 @@ audio_alsa_pylibdir = $(pyexecdir)/$(audio_alsa_pylibdir_category) # The .so libraries for the guile modules get installed whereever guile # is installed, usually /usr/lib/guile/gnuradio/ # FIXME: determince whether these should be installed with gnuradio. -audio_alsa_scmlibdir = $(libdir)/guile/gnuradio +audio_alsa_scmlibdir = $(libdir) # The scm files for the guile modules get installed where ever guile # is installed, usually /usr/share/guile/site/audio_alsa @@ -124,16 +124,16 @@ audio_alsa_python_PYTHON = \ $(audio_alsa) if GUILE -audio_alsa_scmlib_LTLIBRARIES = audio_alsa_guile.la -audio_alsa_guile_la_SOURCES = \ +audio_alsa_scmlib_LTLIBRARIES = libguile-audio_alsa.la +libguile_audio_alsa_la_SOURCES = \ guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) audio_alsa_scm_DATA = audio_alsa.scm # Guile can use the same flags as python does -audio_alsa_guile_la_LIBADD = $(_audio_alsa_la_LIBADD) -audio_alsa_guile_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) -audio_alsa_guile_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) +libguile_audio_alsa_la_LIBADD = $(_audio_alsa_la_LIBADD) +libguile_audio_alsa_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) +libguile_audio_alsa_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) guile/audio_alsa.lo: audio_alsa.lo audio_alsa.scm: audio_alsa.i -- cgit From 40fac3c4a2f5f1f6dde79e96be8f40535e11343b Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Sat, 30 Oct 2010 12:14:16 -0600 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 8ab5d5442..59e04e6a9 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -46,7 +46,7 @@ audio_alsa_scmlibdir = $(libdir) # The scm files for the guile modules get installed where ever guile # is installed, usually /usr/share/guile/site/audio_alsa # FIXME: determince whether these should be installed with gnuradio. -audio_alsa_scmdir = $(guiledir)/gnuradio +audio_alsa_scmdir = $(guiledir) ## SWIG headers are always installed into the same directory. @@ -128,7 +128,7 @@ audio_alsa_scmlib_LTLIBRARIES = libguile-audio_alsa.la libguile_audio_alsa_la_SOURCES = \ guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) -audio_alsa_scm_DATA = audio_alsa.scm +nobase_audio_alsa_scm_DATA = gnuradio/audio_alsa.scm gnuradio/audio_alsa-primitive.scm # Guile can use the same flags as python does libguile_audio_alsa_la_LIBADD = $(_audio_alsa_la_LIBADD) @@ -137,6 +137,9 @@ libguile_audio_alsa_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) guile/audio_alsa.lo: audio_alsa.lo audio_alsa.scm: audio_alsa.i +gnuradio/audio_alsa-primitive.scm: audio_alsa.scm + +-include guile/audio_alsa.d endif # end of GUILE -- cgit From d94769a975612072dc03fa378bc79856c07cd66b Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Sat, 30 Oct 2010 12:14:41 -0600 Subject: add load-extension support --- gr-audio-alsa/src/audio_alsa.i | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa.i b/gr-audio-alsa/src/audio_alsa.i index 88402333a..c650bd948 100644 --- a/gr-audio-alsa/src/audio_alsa.i +++ b/gr-audio-alsa/src/audio_alsa.i @@ -73,3 +73,13 @@ class audio_alsa_sink : public gr_sync_block { public: ~audio_alsa_sink (); }; + +#if SWIGGUILE +%scheme %{ +(load-extension "libguile-audio_alsa" "scm_init_gnuradio_audio_alsa_module") +%} + +%goops %{ +(use-modules (gnuradio gnuradio_core_runtime)) +%} +#endif -- cgit From 0282499102abcef25849ae3a5255902502c1382a Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Sun, 31 Oct 2010 13:24:29 -0700 Subject: Remove swig generated python code from C++-only libraries --- gr-audio-alsa/src/Makefile.am | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index fac75b89d..705bd2072 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -49,8 +49,7 @@ lib_LTLIBRARIES = libgnuradio-audio-alsa.la libgnuradio_audio_alsa_la_SOURCES = \ audio_alsa_sink.cc \ audio_alsa_source.cc \ - gri_alsa.cc \ - python/audio_alsa.cc + gri_alsa.cc libgnuradio_audio_alsa_la_LIBADD = \ $(GNURADIO_CORE_LA) \ -- cgit From 2b11c904da6799b6a7240d64d2ba37ddcaf1e479 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 1 Nov 2010 16:06:37 -0600 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 59e04e6a9..930e122d0 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -84,10 +84,10 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S* # generating the py or scm file also generates the .cc or .h files, # but dependencies work better without the .cc ort .h files listed. -swig_built_sources += audio_alsa.py -if GUILE -swig_built_sources += audio_alsa.scm -endif +# swig_built_sources += audio_alsa.py +# if GUILE +# swig_built_sources += gnuradio/audio_alsa.scm +# endif ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including @@ -135,15 +135,14 @@ libguile_audio_alsa_la_LIBADD = $(_audio_alsa_la_LIBADD) libguile_audio_alsa_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) libguile_audio_alsa_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) -guile/audio_alsa.lo: audio_alsa.lo -audio_alsa.scm: audio_alsa.i -gnuradio/audio_alsa-primitive.scm: audio_alsa.scm +guile/audio_alsa.cc: gnuradio/audio_alsa.scm +gnuradio/audio_alsa.scm: audio_alsa.i +gnuradio/audio_alsa-primitive.scm: gnuradio/audio_alsa.scm -include guile/audio_alsa.d endif # end of GUILE -python/audio_alsa.lo: audio_alsa.lo: audio_alsa.py audio_alsa.scm audio_alsa.py: audio_alsa.i -- cgit From 0939607d0b4a3ae047ceff60fab300000c7d2069 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 1 Nov 2010 19:02:55 -0600 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 930e122d0..522ba5c67 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -67,28 +67,10 @@ audio_alsa_swigincludedir = $(swigincludedir) ## right thing. For more info, see < ## http://sources.redhat.com/automake/automake.html#Multiple-Outputs > -## Stamps used to ensure parallel make does the right thing. These -## are removed by "make clean", but otherwise unused except during the -## parallel built. These will not be included in a tarball, because -## the SWIG-generated files will be removed from the distribution. - -STAMPS += $(DEPDIR)/audio_alsa-generate-* - ## Other cleaned files: dependency files generated by SWIG or this Makefile MOSTLYCLEANFILES += $(DEPDIR)/*.S* -## Add the .py and .cc files to the list of SWIG built sources. The -## .h file is sometimes built, but not always ... so that one has to -## be added manually by the including Makefile.am . - -# generating the py or scm file also generates the .cc or .h files, -# but dependencies work better without the .cc ort .h files listed. -# swig_built_sources += audio_alsa.py -# if GUILE -# swig_built_sources += gnuradio/audio_alsa.scm -# endif - ## Various SWIG variables. These can be overloaded in the including ## Makefile.am by setting the variable value there, then including ## Makefile.swig . @@ -108,8 +90,6 @@ _audio_alsa_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) -# _audio_alsa_la_DEPENDENCIES = python/audio_alsa.lo - _audio_alsa_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_alsa_la_swig_ldflags) @@ -123,14 +103,20 @@ audio_alsa_python_PYTHON = \ audio_alsa.py \ $(audio_alsa) +python/audio_alsa.cc: audio_alsa.py +audio_alsa.py: audio_alsa.i + +# Include the python dependencies for this file +-include python/audio_alsa.d +# end of PYTHON + if GUILE audio_alsa_scmlib_LTLIBRARIES = libguile-audio_alsa.la -libguile_audio_alsa_la_SOURCES = \ - guile/audio_alsa.cc \ +libguile_audio_alsa_la_SOURCES = \ + guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) nobase_audio_alsa_scm_DATA = gnuradio/audio_alsa.scm gnuradio/audio_alsa-primitive.scm -# Guile can use the same flags as python does libguile_audio_alsa_la_LIBADD = $(_audio_alsa_la_LIBADD) libguile_audio_alsa_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) libguile_audio_alsa_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) @@ -139,12 +125,9 @@ guile/audio_alsa.cc: gnuradio/audio_alsa.scm gnuradio/audio_alsa.scm: audio_alsa.i gnuradio/audio_alsa-primitive.scm: gnuradio/audio_alsa.scm +# Include the guile dependencies for this file -include guile/audio_alsa.d endif # end of GUILE -audio_alsa.lo: audio_alsa.py audio_alsa.scm -audio_alsa.py: audio_alsa.i - --include python/audio_alsa.d -- cgit From df92b7c6315c567e58e0d9c293d7c9c2699023d3 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Wed, 10 Nov 2010 13:01:38 -0800 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 522ba5c67..bd7113091 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -112,8 +112,8 @@ audio_alsa.py: audio_alsa.i if GUILE audio_alsa_scmlib_LTLIBRARIES = libguile-audio_alsa.la -libguile_audio_alsa_la_SOURCES = \ - guile/audio_alsa.cc \ +libguile_audio_alsa_la_SOURCES = \ + guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) nobase_audio_alsa_scm_DATA = gnuradio/audio_alsa.scm gnuradio/audio_alsa-primitive.scm -- cgit From 76e2fa796a42df7951f05f73428e178c84879b79 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 12 Nov 2010 15:04:10 -0800 Subject: make check in gr-audio-alsa now confirms ability to load guile bindings. --- gr-audio-alsa/src/Makefile.am | 9 ++++++--- gr-audio-alsa/src/audio_alsa.test | 38 ++++++++++++++++++++++++++++++++++++ gr-audio-alsa/src/run_guile_tests.in | 14 +++++++++++++ 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 gr-audio-alsa/src/audio_alsa.test create mode 100644 gr-audio-alsa/src/run_guile_tests.in (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index 705bd2072..813bf3138 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -21,7 +21,9 @@ include $(top_srcdir)/Makefile.common -EXTRA_DIST = run_tests.in +TESTS = + +EXTRA_DIST = run_tests.in run_guile_tests.in # C/C++ headers get installed in ${prefix}/include/gnuradio grinclude_HEADERS = \ @@ -35,8 +37,9 @@ noinst_PYTHON = \ qa_alsa.py if GUILE + TESTS += run_guile_tests noinst_GUILE = \ - qa_alsa.scm + audio_alsa.test endif AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(WITH_INCLUDES) @@ -60,7 +63,7 @@ libgnuradio_audio_alsa_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS) if PYTHON ################################### # SWIG Python interface and library -TESTS = run_tests +TESTS += run_tests DISTCLEANFILES = run_tests TOP_SWIG_IFILES = \ diff --git a/gr-audio-alsa/src/audio_alsa.test b/gr-audio-alsa/src/audio_alsa.test new file mode 100644 index 000000000..edf425b9f --- /dev/null +++ b/gr-audio-alsa/src/audio_alsa.test @@ -0,0 +1,38 @@ +;;; -*- Scheme -*- +;;; +;;; Copyright 2010 Free Software Foundation, Inc. +;;; +;;; This file is part of GNU Radio +;;; +;;; GNU Radio is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3, or (at your option) +;;; any later version. +;;; +;;; GNU Radio is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program. If not, see . +;;; + +;;; If you're using Emacs's Scheme mode: +;;; (put 'with-test-prefix 'scheme-indent-function 1) + +;;; See the comments in gnuradio/test-suite/lib.scm for info on writing tests. +;;; See also the very end of the file, where the test-equal, test-eqv +;;; and test-eq macros are defined. + +(use-modules (gnuradio test-suite lib)) +(use-modules (gnuradio core)) +(use-modules (oop goops)) + +;;; Just see if we can import the module... +;;; They may not have ALSA drivers, etc. + +(use-modules (gnuradio audio_alsa)) + + + diff --git a/gr-audio-alsa/src/run_guile_tests.in b/gr-audio-alsa/src/run_guile_tests.in new file mode 100644 index 000000000..5d08b0dd5 --- /dev/null +++ b/gr-audio-alsa/src/run_guile_tests.in @@ -0,0 +1,14 @@ +#!/bin/sh + +. @top_builddir@/setup_guile_test_env + +# 1st argument is absolute path to hand coded guile source directory +# 2nd argument is absolute path to component C++ shared library build directory +# 3nd argument is absolute path to component SWIG build directory + +add_local_paths \ + @srcdir@ \ + @abs_builddir@ \ + @abs_builddir@ + +@GUILE@ -e main -c '(use-modules (gnuradio test-suite guile-test))' -t @srcdir@ -- cgit From c718ba72d78cc55e6d38cc7d8f234a83f9170fdf Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 12 Nov 2010 15:26:43 -0800 Subject: Really make gr-audio-alsa make check run guile tests --- gr-audio-alsa/src/Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index 813bf3138..a8fcde9e5 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -37,8 +37,9 @@ noinst_PYTHON = \ qa_alsa.py if GUILE - TESTS += run_guile_tests -noinst_GUILE = \ +TESTS += run_guile_tests + +noinst_GUILE = \ audio_alsa.test endif -- cgit From cefeb248677decabaeccff7ba2a526343baa215a Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 12 Nov 2010 15:42:24 -0800 Subject: Cleanup alsa Makefile.am --- gr-audio-alsa/src/Makefile.am | 35 +++++++++++++++++++-------------- gr-audio-alsa/src/qa_alsa.py | 40 -------------------------------------- gr-audio-alsa/src/qa_audio_alsa.py | 40 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 55 deletions(-) delete mode 100755 gr-audio-alsa/src/qa_alsa.py create mode 100755 gr-audio-alsa/src/qa_audio_alsa.py (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index a8fcde9e5..11419d693 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2004,2008,2009 Free Software Foundation, Inc. +# Copyright 2004,2008,2009,2010 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -25,6 +25,8 @@ TESTS = EXTRA_DIST = run_tests.in run_guile_tests.in +DISTCLEANFILES = run_tests run_guile_tests + # C/C++ headers get installed in ${prefix}/include/gnuradio grinclude_HEADERS = \ audio_alsa_sink.h \ @@ -34,19 +36,16 @@ noinst_HEADERS = \ gri_alsa.h noinst_PYTHON = \ - qa_alsa.py - -if GUILE -TESTS += run_guile_tests + qa_audio_alsa.py noinst_GUILE = \ audio_alsa.test -endif + AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(WITH_INCLUDES) -################################### -# ALSA library, including OS interface, sink, and source +# ------------------------------------------------------------------------ +# ALSA C++ library, including OS interface, sink, and source lib_LTLIBRARIES = libgnuradio-audio-alsa.la @@ -61,11 +60,9 @@ libgnuradio_audio_alsa_la_LIBADD = \ libgnuradio_audio_alsa_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS) -if PYTHON -################################### -# SWIG Python interface and library -TESTS += run_tests -DISTCLEANFILES = run_tests + +# ------------------------------------------------------------------------ +# SWIG generated bindings TOP_SWIG_IFILES = \ audio_alsa.i @@ -81,6 +78,16 @@ audio_alsa_pythondir_category = \ audio_alsa_la_swig_libadd = \ libgnuradio-audio-alsa.la +if PYTHON +TESTS += run_tests +endif + +if GUILE +TESTS += run_guile_tests +endif + + +# Uses the variables above to define how to generate SWIG bindings include $(top_srcdir)/Makefile.swig # add some of the variables generated inside the Makefile.swig.gen @@ -88,5 +95,3 @@ BUILT_SOURCES = $(swig_built_sources) # Do not distribute the output of SWIG no_dist_files = $(swig_built_sources) - -endif diff --git a/gr-audio-alsa/src/qa_alsa.py b/gr-audio-alsa/src/qa_alsa.py deleted file mode 100755 index 52dbfdc7a..000000000 --- a/gr-audio-alsa/src/qa_alsa.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2005,2007,2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, gr_unittest -import audio_alsa - -class test_audio_alsa (gr_unittest.TestCase): - - def setUp (self): - self.tb = gr.top_block () - - def tearDown (self): - self.tb = None - - def test_000_nop (self): - """Just see if we can import the module... - They may not have ALSA drivers, etc. Don't try to run anything""" - pass - -if __name__ == '__main__': - gr_unittest.run(test_audio_alsa, "test_audio_alsa.xml") diff --git a/gr-audio-alsa/src/qa_audio_alsa.py b/gr-audio-alsa/src/qa_audio_alsa.py new file mode 100755 index 000000000..52dbfdc7a --- /dev/null +++ b/gr-audio-alsa/src/qa_audio_alsa.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python +# +# Copyright 2005,2007,2010 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +from gnuradio import gr, gr_unittest +import audio_alsa + +class test_audio_alsa (gr_unittest.TestCase): + + def setUp (self): + self.tb = gr.top_block () + + def tearDown (self): + self.tb = None + + def test_000_nop (self): + """Just see if we can import the module... + They may not have ALSA drivers, etc. Don't try to run anything""" + pass + +if __name__ == '__main__': + gr_unittest.run(test_audio_alsa, "test_audio_alsa.xml") -- cgit From abde5affda1533c518cce06d5edcffa4eda52340 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Sat, 13 Nov 2010 16:19:48 -0800 Subject: dail-tone.wfd example waveform can be loaded and run by gr-run-waveform. Write new app, gr-run-waveform, that reads waveforms and runs them. We'll need to turn this into a small piece of C/C++ code that embeds guile, but the guts of it is working. --- gr-audio-alsa/src/audio_alsa.test | 2 -- 1 file changed, 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa.test b/gr-audio-alsa/src/audio_alsa.test index edf425b9f..240045593 100644 --- a/gr-audio-alsa/src/audio_alsa.test +++ b/gr-audio-alsa/src/audio_alsa.test @@ -34,5 +34,3 @@ (use-modules (gnuradio audio_alsa)) - - -- cgit From 8180bb1d7020e07c9b0a217820c68d07f0d98a74 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Tue, 16 Nov 2010 21:33:50 -0800 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index bd7113091..5762d22ae 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -101,7 +101,7 @@ _audio_alsa_la_CXXFLAGS = \ audio_alsa_python_PYTHON = \ audio_alsa.py \ - $(audio_alsa) + $(audio_alsa_python) python/audio_alsa.cc: audio_alsa.py audio_alsa.py: audio_alsa.i -- cgit From f2e0c5b9a703afb919fdcd9a49381bc2160a149e Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 18 Nov 2010 18:39:34 -0700 Subject: regenerated --- gr-audio-alsa/src/Makefile.swig.gen | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index 5762d22ae..f80c90d51 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -79,6 +79,7 @@ audio_alsa_swiginclude_HEADERS = \ audio_alsa.i \ $(audio_alsa_swiginclude_headers) +if PYTHON audio_alsa_pylib_LTLIBRARIES = \ _audio_alsa.la @@ -86,6 +87,10 @@ _audio_alsa_la_SOURCES = \ python/audio_alsa.cc \ $(audio_alsa_la_swig_sources) +audio_alsa_python_PYTHON = \ + audio_alsa.py \ + $(audio_alsa_python) + _audio_alsa_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) @@ -99,27 +104,34 @@ _audio_alsa_la_CXXFLAGS = \ -I$(top_builddir) \ $(audio_alsa_la_swig_cxxflags) -audio_alsa_python_PYTHON = \ - audio_alsa.py \ - $(audio_alsa_python) - python/audio_alsa.cc: audio_alsa.py audio_alsa.py: audio_alsa.i # Include the python dependencies for this file -include python/audio_alsa.d -# end of PYTHON + +endif # end of if python if GUILE -audio_alsa_scmlib_LTLIBRARIES = libguile-audio_alsa.la + +audio_alsa_scmlib_LTLIBRARIES = \ + libguile-audio_alsa.la libguile_audio_alsa_la_SOURCES = \ guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) -nobase_audio_alsa_scm_DATA = gnuradio/audio_alsa.scm gnuradio/audio_alsa-primitive.scm - -libguile_audio_alsa_la_LIBADD = $(_audio_alsa_la_LIBADD) -libguile_audio_alsa_la_LDFLAGS = $(_audio_alsa_la_LDFLAGS) -libguile_audio_alsa_la_CXXFLAGS = $(_audio_alsa_la_CXXFLAGS) +nobase_audio_alsa_scm_DATA = \ + gnuradio/audio_alsa.scm \ + gnuradio/audio_alsa-primitive.scm +libguile_audio_alsa_la_LIBADD = \ + $(STD_SWIG_LA_LIB_ADD) \ + $(audio_alsa_la_swig_libadd) +libguile_audio_alsa_la_LDFLAGS = \ + $(STD_SWIG_LA_LD_FLAGS) \ + $(audio_alsa_la_swig_ldflags) +libguile_audio_alsa_la_CXXFLAGS = \ + $(STD_SWIG_CXX_FLAGS) \ + -I$(top_builddir) \ + $(audio_alsa_la_swig_cxxflags) guile/audio_alsa.cc: gnuradio/audio_alsa.scm gnuradio/audio_alsa.scm: audio_alsa.i -- cgit From 6d39f287754ec8809256853ff96587da34561f47 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Tue, 23 Nov 2010 21:43:22 -0800 Subject: Update to new test boilerplate --- gr-audio-alsa/src/audio_alsa.test | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa.test b/gr-audio-alsa/src/audio_alsa.test index 240045593..7997b9283 100644 --- a/gr-audio-alsa/src/audio_alsa.test +++ b/gr-audio-alsa/src/audio_alsa.test @@ -25,12 +25,13 @@ ;;; See also the very end of the file, where the test-equal, test-eqv ;;; and test-eq macros are defined. -(use-modules (gnuradio test-suite lib)) -(use-modules (gnuradio core)) -(use-modules (oop goops)) +(define-module (test-module) + #:use-module (oop goops) + #:use-module (gnuradio core) + #:use-module (gnuradio test-suite lib) + #:duplicates (merge-generics replace check)) ;;; Just see if we can import the module... ;;; They may not have ALSA drivers, etc. (use-modules (gnuradio audio_alsa)) - -- cgit From d692a41f98e7b888c745efbb9fcbbb0400f39025 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Wed, 24 Nov 2010 17:29:11 -0800 Subject: Major Makefile.am housecleaning. Passes distcheck. Move all occurrences of swig_built_sources out of Makefile.am's. Move all SWIG related use of BUILT_SOURCES out of Makefile.am's. Clean up 'if PYTHON' conditionalization in gr-* Still left to do: fix Makefile.swig CLEANFILES and no_dist_files such that they remove exactly the generated files. --- gr-audio-alsa/src/Makefile.am | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index 11419d693..330158aa5 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -20,12 +20,11 @@ # include $(top_srcdir)/Makefile.common +include $(top_srcdir)/Makefile.swig TESTS = - -EXTRA_DIST = run_tests.in run_guile_tests.in - -DISTCLEANFILES = run_tests run_guile_tests +EXTRA_DIST += run_tests.in run_guile_tests.in +DISTCLEANFILES += run_tests run_guile_tests # C/C++ headers get installed in ${prefix}/include/gnuradio grinclude_HEADERS = \ @@ -87,11 +86,3 @@ TESTS += run_guile_tests endif -# Uses the variables above to define how to generate SWIG bindings -include $(top_srcdir)/Makefile.swig - -# add some of the variables generated inside the Makefile.swig.gen -BUILT_SOURCES = $(swig_built_sources) - -# Do not distribute the output of SWIG -no_dist_files = $(swig_built_sources) -- cgit From 401465831199fa8e29f36d604d9004020a657e72 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Wed, 24 Nov 2010 18:35:20 -0800 Subject: Update .gitignore's --- gr-audio-alsa/src/.gitignore | 1 + 1 file changed, 1 insertion(+) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/.gitignore b/gr-audio-alsa/src/.gitignore index b751c6731..2416d8a99 100644 --- a/gr-audio-alsa/src/.gitignore +++ b/gr-audio-alsa/src/.gitignore @@ -13,4 +13,5 @@ /audio_alsa.py /audio_alsa.cc /run_tests +/run_guile_tests /*.pyc -- cgit From b005e7d9f481ed39591d97ef697621368e6505c0 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Wed, 24 Nov 2010 19:08:21 -0800 Subject: Update .gitignore's --- gr-audio-alsa/src/.gitignore | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/.gitignore b/gr-audio-alsa/src/.gitignore index 2416d8a99..8de8fe39c 100644 --- a/gr-audio-alsa/src/.gitignore +++ b/gr-audio-alsa/src/.gitignore @@ -15,3 +15,6 @@ /run_tests /run_guile_tests /*.pyc +/gnuradio +/guile +/python -- cgit From 0b5f66113f43d2ba94a1ca741b5ce65e1f9f2c02 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 3 Dec 2010 23:30:54 -0800 Subject: Rename libguile- to libguile-gnuradio- to match guile library naming convention. The stuff in gnuradio-core ends up with funky names, but that could be fixed by renaming gnuradio_core_filter.i -> core_filter.i etc. --- gr-audio-alsa/src/audio_alsa.i | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa.i b/gr-audio-alsa/src/audio_alsa.i index c650bd948..64550f788 100644 --- a/gr-audio-alsa/src/audio_alsa.i +++ b/gr-audio-alsa/src/audio_alsa.i @@ -76,7 +76,7 @@ class audio_alsa_sink : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-audio_alsa" "scm_init_gnuradio_audio_alsa_module") +(load-extension "libguile-gnuradio-audio_alsa" "scm_init_gnuradio_audio_alsa_module") %} %goops %{ -- cgit From 6df0423fe1880f5c33daa333604552ea68ac9593 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 3 Dec 2010 23:34:24 -0800 Subject: Regenerated Makefile.swig.gen's --- gr-audio-alsa/src/Makefile.swig.gen | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen index f80c90d51..c231a4784 100644 --- a/gr-audio-alsa/src/Makefile.swig.gen +++ b/gr-audio-alsa/src/Makefile.swig.gen @@ -115,20 +115,20 @@ endif # end of if python if GUILE audio_alsa_scmlib_LTLIBRARIES = \ - libguile-audio_alsa.la -libguile_audio_alsa_la_SOURCES = \ + libguile-gnuradio-audio_alsa.la +libguile_gnuradio_audio_alsa_la_SOURCES = \ guile/audio_alsa.cc \ $(audio_alsa_la_swig_sources) nobase_audio_alsa_scm_DATA = \ gnuradio/audio_alsa.scm \ gnuradio/audio_alsa-primitive.scm -libguile_audio_alsa_la_LIBADD = \ +libguile_gnuradio_audio_alsa_la_LIBADD = \ $(STD_SWIG_LA_LIB_ADD) \ $(audio_alsa_la_swig_libadd) -libguile_audio_alsa_la_LDFLAGS = \ +libguile_gnuradio_audio_alsa_la_LDFLAGS = \ $(STD_SWIG_LA_LD_FLAGS) \ $(audio_alsa_la_swig_ldflags) -libguile_audio_alsa_la_CXXFLAGS = \ +libguile_gnuradio_audio_alsa_la_CXXFLAGS = \ $(STD_SWIG_CXX_FLAGS) \ -I$(top_builddir) \ $(audio_alsa_la_swig_cxxflags) -- cgit From ed4abf6f759a421bc845d9138f82df84bb4bbf96 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Mon, 6 Dec 2010 20:22:22 -0500 Subject: Adding a "change in progress" check to alsa sink. --- gr-audio-alsa/src/audio_alsa_sink.cc | 18 +++++++++++++++++- gr-audio-alsa/src/audio_alsa_sink.h | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc index c28e23fea..84bf49151 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.cc +++ b/gr-audio-alsa/src/audio_alsa_sink.cc @@ -90,7 +90,8 @@ audio_alsa_sink::audio_alsa_sink (int sampling_rate, d_period_size (0), d_buffer_size_bytes (0), d_buffer (0), d_worker (0), d_special_case_mono_to_stereo (false), - d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block) + d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block), + d_change_in_progress(false) { CHATTY_DEBUG = gr_prefs::singleton()->get_bool("audio_alsa", "verbose", false); @@ -224,6 +225,11 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) // FIXME check_topology may be called more than once. // Ensure that the pcm is in a state where we can still mess with the hw_params + d_change_in_progress = true; + + if (snd_pcm_state (d_pcm_handle) == SND_PCM_STATE_RUNNING) + snd_pcm_drop (d_pcm_handle); + bool special_case = nchan == 1 && d_special_case_mono_to_stereo; if (special_case) nchan = 2; @@ -232,6 +238,7 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) if (err < 0){ output_error_msg ("set_channels failed", err); + d_change_in_progress = false; return false; } @@ -239,6 +246,7 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) err = snd_pcm_hw_params(d_pcm_handle, d_hw_params); if (err < 0){ output_error_msg ("snd_pcm_hw_params failed", err); + d_change_in_progress = false; return false; } @@ -289,6 +297,7 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) default: assert (0); } + d_change_in_progress = false; return true; } @@ -487,6 +496,13 @@ audio_alsa_sink::write_buffer (const void *vbuffer, { const unsigned char *buffer = (const unsigned char *) vbuffer; + int change_counter = 10; + while (d_change_in_progress == true && change_counter >= 0) { + change_counter--; + usleep(10000); + } + d_change_in_progress = false; + while (nframes > 0){ int r = snd_pcm_writei (d_pcm_handle, buffer, nframes); if (r == -EAGAIN) diff --git a/gr-audio-alsa/src/audio_alsa_sink.h b/gr-audio-alsa/src/audio_alsa_sink.h index f3007f60f..811cc6c8c 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.h +++ b/gr-audio-alsa/src/audio_alsa_sink.h @@ -83,6 +83,7 @@ class audio_alsa_sink : public gr_sync_block { // random stats int d_nunderuns; // count of underruns int d_nsuspends; // count of suspends + bool d_change_in_progress; // Topology change in progress--used as spinlock for write_buffer bool d_ok_to_block; // defaults to "true", controls blocking/non-block I/O void output_error_msg (const char *msg, int err); -- cgit From 08907ee94fb6c34531d57b988324c67c26c8b747 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 10 Dec 2010 16:15:40 -0800 Subject: Use load-extension-global instead of load-extension --- gr-audio-alsa/src/audio_alsa.i | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa.i b/gr-audio-alsa/src/audio_alsa.i index 64550f788..215acf33d 100644 --- a/gr-audio-alsa/src/audio_alsa.i +++ b/gr-audio-alsa/src/audio_alsa.i @@ -76,7 +76,7 @@ class audio_alsa_sink : public gr_sync_block { #if SWIGGUILE %scheme %{ -(load-extension "libguile-gnuradio-audio_alsa" "scm_init_gnuradio_audio_alsa_module") +(load-extension-global "libguile-gnuradio-audio_alsa" "scm_init_gnuradio_audio_alsa_module") %} %goops %{ -- cgit From a8e58dba4d820e0b66d89bf05af29c381e46eef9 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Wed, 22 Dec 2010 17:11:44 -0500 Subject: Reverting last change in alsa. --- gr-audio-alsa/src/audio_alsa_sink.cc | 18 +----------------- gr-audio-alsa/src/audio_alsa_sink.h | 1 - 2 files changed, 1 insertion(+), 18 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc index 84bf49151..c28e23fea 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.cc +++ b/gr-audio-alsa/src/audio_alsa_sink.cc @@ -90,8 +90,7 @@ audio_alsa_sink::audio_alsa_sink (int sampling_rate, d_period_size (0), d_buffer_size_bytes (0), d_buffer (0), d_worker (0), d_special_case_mono_to_stereo (false), - d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block), - d_change_in_progress(false) + d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block) { CHATTY_DEBUG = gr_prefs::singleton()->get_bool("audio_alsa", "verbose", false); @@ -225,11 +224,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) // FIXME check_topology may be called more than once. // Ensure that the pcm is in a state where we can still mess with the hw_params - d_change_in_progress = true; - - if (snd_pcm_state (d_pcm_handle) == SND_PCM_STATE_RUNNING) - snd_pcm_drop (d_pcm_handle); - bool special_case = nchan == 1 && d_special_case_mono_to_stereo; if (special_case) nchan = 2; @@ -238,7 +232,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) if (err < 0){ output_error_msg ("set_channels failed", err); - d_change_in_progress = false; return false; } @@ -246,7 +239,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) err = snd_pcm_hw_params(d_pcm_handle, d_hw_params); if (err < 0){ output_error_msg ("snd_pcm_hw_params failed", err); - d_change_in_progress = false; return false; } @@ -297,7 +289,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) default: assert (0); } - d_change_in_progress = false; return true; } @@ -496,13 +487,6 @@ audio_alsa_sink::write_buffer (const void *vbuffer, { const unsigned char *buffer = (const unsigned char *) vbuffer; - int change_counter = 10; - while (d_change_in_progress == true && change_counter >= 0) { - change_counter--; - usleep(10000); - } - d_change_in_progress = false; - while (nframes > 0){ int r = snd_pcm_writei (d_pcm_handle, buffer, nframes); if (r == -EAGAIN) diff --git a/gr-audio-alsa/src/audio_alsa_sink.h b/gr-audio-alsa/src/audio_alsa_sink.h index 811cc6c8c..f3007f60f 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.h +++ b/gr-audio-alsa/src/audio_alsa_sink.h @@ -83,7 +83,6 @@ class audio_alsa_sink : public gr_sync_block { // random stats int d_nunderuns; // count of underruns int d_nsuspends; // count of suspends - bool d_change_in_progress; // Topology change in progress--used as spinlock for write_buffer bool d_ok_to_block; // defaults to "true", controls blocking/non-block I/O void output_error_msg (const char *msg, int err); -- cgit From 64ee9a2973e6c217c54f8cb0433ab24b0e52e2cc Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Wed, 22 Dec 2010 17:41:30 -0500 Subject: A new patch for fixing the alsa restart issue. Submitted by Volker Schroer. --- gr-audio-alsa/src/audio_alsa_sink.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gr-audio-alsa/src') diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc index c28e23fea..d44a93b3f 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.cc +++ b/gr-audio-alsa/src/audio_alsa_sink.cc @@ -221,9 +221,15 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) int nchan = ninputs; int err; - // FIXME check_topology may be called more than once. + // Check the state of the stream // Ensure that the pcm is in a state where we can still mess with the hw_params - + snd_pcm_state_t state; + state=snd_pcm_state(d_pcm_handle); + if ( state== SND_PCM_STATE_RUNNING) + return true; // If stream is running, don't change any parameters + else if(state == SND_PCM_STATE_XRUN ) + snd_pcm_prepare ( d_pcm_handle ); // Prepare stream on underrun, and we can set parameters; + bool special_case = nchan == 1 && d_special_case_mono_to_stereo; if (special_case) nchan = 2; -- cgit