Kevin: Thank you for the quick and complete reply, I appreciate the help!
-Ed On Wed, Jun 29, 2016 at 11:04 AM, Kevin Reid <kpr...@switchb.org> wrote: > On Jun 29, 2016, at 07:50, Ed Coleman <ed.coleman...@gmail.com> wrote: > > if __name__ == '__main__': > > simpleTone().run() > > > > The code above works fine, however if I make the following substitution: > > > > if __name__ == '__main__': > > simpleTone().start() > > simpleTone().wait() > > #time.sleep(3) > > simpleTone().stop() > > > > The result is that the file runs, and ends after 3 seconds but no audio > is produced. > > Your problem is that you're constructing three unrelated top blocks: you > have three separate occurrences of "simpleTone()". Instead you need to > create one and continue to use it, like so: > > tb = simpleTone() > tb.start() > ... > tb.stop() > > You have another problem, too, which you will find after fixing the first > one. .wait() means to wait for the flowgraph to finish all processing, and > your flowgraph has no elements within it to finish such as a Head block, so > the .stop() will never be reached. > > Instead, you need to proceed like this: > > tb = simpleTone() > tb.start() > # the flowgraph is now running independently > time.sleep(3) > tb.stop() > tb.wait() > > The final .wait() is not actually necessary in this case -- what it does > is wait for the flowgraph to finish, which will happen shortly after > .stop() is called, but if you later wish to start the same top block again, > you must have called .wait() before you call .start(), so always having a > matched set of [start, stop, wait] or [start, wait, stop] is good practice. > >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio