Aha, after calling cs.setPythonMessageCallback(), I can now redirect Csound's output to a file object, where I can search it. I believe, for some reason, Csound was sending messages to the same terminal where I had Python running, but not through Python. I never bothered calling it before because I saw the messages regardless. Sounds like ctypes would be a cleaner solution, and I had thought of individually loading libraries for PA, ALSA, etc. to scan for devices, but it'll take me a while to sort that out. Thanks. -Chuckk On Mon, Oct 27, 2008 at 4:03 PM, Michael Gogins wrote: > These are two different functions with two different purposes. The one that takes only self simply internally redirects Csound's message printing to Python's stdout. > > Regards, > Mike > > -----Original Message----- >>From: Chuckk Hubbard >>Sent: Oct 27, 2008 9:08 AM >>To: csound@lists.bath.ac.uk >>Subject: [Csnd] Re: Re: Re: Re: Querying available audio devices >> >>The closest I have available is .setPythonMessageCallback() for >>CppSound, and .SetPythonMessageCallback() for Csound class. >>.SetPythonMessageCallback() somehow can't find the attribute, although >>it is listed with dir(CppSound) and help(CppSound), and >>.setPythonMessageCallback() takes 1 argument (self), won't take a >>function as argument. >> >>-Chuckk >> >>On Mon, Oct 27, 2008 at 2:53 PM, victor wrote: >>> Use the Csound() (or derived) class and the Csound::SetMessageCallback() >>> method. >>> >>> the callback should be something like >>> >>> def mcallback(s): >>> # s is a string >>> # e.g. you can print it >>> print s >>> >>> >>> cs.SetMessageCallback(mcallback) >>> >>> >>> Victor >>> ----- Original Message ----- From: "Chuckk Hubbard" >>> >>> To: >>> Sent: Monday, October 27, 2008 12:04 PM >>> Subject: [Csnd] Re: Re: Querying available audio devices >>> >>> >>>> Sounds like a plan. I'll let people choose from whichever modules are >>>> available for their platform and then see the devices for whatever >>>> they choose. >>>> >>>> I tried directing both stderr and stdout to file objects, and didn't >>>> pick up the Csound output from cs.compile(). Anyone know how I do >>>> that in Python? >>>> >>>> -Chuckk >>>> >>>> On Mon, Oct 27, 2008 at 11:12 AM, victor wrote: >>>>> >>>>> For -+rtaudio you can just check the platform OS and the >>>>> modules for each are well-defined (ie portaudio and alsa for linux, etc). >>>>> >>>>> The only way I think is to run csound with -odac99, then parse >>>>> the message output. >>>>> >>>>> Perhaps an API function to do this might be possible, but it >>>>> will need to be implemented by the IO modules. >>>>> >>>>> Regards >>>>> >>>>> Victor >>>>> >>>>> ----- Original Message ----- From: "Chuckk Hubbard" >>>>> >>>>> To: "Csound List" >>>>> Sent: Monday, October 27, 2008 7:54 AM >>>>> Subject: [Csnd] Querying available audio devices >>>>> >>>>> >>>>>> Is there a way to do this with the API? To build a list of available >>>>>> devices to show in my app? >>>>>> I think it would have to know possible values for both -+rtaudio and >>>>>> -odac, no? >>>>>> >>>>>> -Chuckk >>>>>> -- >>>>>> http://www.badmuthahubbard.com >>>>>> >>>>>> >>>>>> Send bugs reports to this list. >>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >>>>>> csound" >>>>> >>>>> >>>>> >>>>> Send bugs reports to this list. >>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >>>>> csound" >>>>> >>>> >>>> >>>> >>>> -- >>>> http://www.badmuthahubbard.com >>>> >>>> >>>> Send bugs reports to this list. >>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >>>> csound" >>> >>> >>> >>> Send bugs reports to this list. >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >>> csound" >>> >> >> >> >>-- >>http://www.badmuthahubbard.com >> >> >>Send bugs reports to this list. >>To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > > > > > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > -- http://www.badmuthahubbard.com