Gr-audio-osx ToDo

I have 3 things to do on gr-audio-osx (enumerated below), but those can
be “ToDo’s” or whatever; I would really like to get this code available
for others to try, as feedback on compiling and other issues would make
it installation robust. The blocks seems to work just fine for
everyone who’s gotten them to compile … they say that the FM audio on
a good station is amazingly crisp!

But compiling has been an issue since it -seems- like gnu’s libtool
somewhere between 1.5.10 and 1.5.20 has been updated to better handle
Darwin stuff and thus there -seems- like a need for the later version
(or even more recent, but I haven’t tried 1.5.22 yet since 1.5.20 works
for me). I can’t be 100% sure that this was the issue. Here are the 3
things to do:

  1. Fix a bug in the way an omni_semaphore is being used (actually, make
    it an omni_mutex I think).

  2. Fix the transfer buffer between the various threads; I wrote my own
    version which is thread-safe, but I think GR has one available - which
    would be better for me to use. It’s just a simple circular (“ring”)
    buffer with thread protection using omni_semaphore’s and omni_mutex’es.
    Is GR’s circular buffer thread-safe?

  3. Add in the code in “source” to “watch” for the user changing the
    input device in the OS, and handling this change so that there is at
    worst a quick blip during the switch over (but at least the program
    doesn’t crash).

On Tue, Apr 04, 2006 at 08:47:51PM -0500, Michael D. wrote:

(or even more recent, but I haven’t tried 1.5.22 yet since 1.5.20 works
Is GR’s circular buffer thread-safe?
You can just use a gr_buffer and gr_buffer_reader. See the
gr-audio-portaudio code for an example. Since you’ve got a singler
reader and writer there are no mutex required for access control. We
use a semaphore to signal the reader/writer about space available.

  1. Add in the code in “source” to “watch” for the user changing the
    input device in the OS, and handling this change so that there is at
    worst a quick blip during the switch over (but at least the program
    doesn’t crash).

OK.

I guess the other thing to do is to see if gr-audio-portaudio “just
works” :wink:

Eric