On Friday 06 January 2012, you wrote:
> btw: is there a way to list available clients/ports from the api.
> I know that aconnect -i / -o does this, but is there a c/c++ function?
>
> Dave
The functions are: snd_seq_query_next_client() and snd_seq_query_next_port();
you need to loop calling these functions while they return a correct answer.
For instance, this is the relevant code in "aconnect.c" :
static void do_search_port(snd_seq_t *seq, int perm, action_func_t do_action)
{
snd_seq_client_info_t *cinfo;
snd_seq_port_info_t *pinfo;
int count;
snd_seq_client_info_alloca(&cinfo);
snd_seq_port_info_alloca(&pinfo);
snd_seq_client_info_set_client(cinfo, -1);
while (snd_seq_query_next_client(seq, cinfo) >= 0) {
/* reset query info */
snd_seq_port_info_set_client(pinfo,
snd_seq_client_info_get_client(cinfo));
snd_seq_port_info_set_port(pinfo, -1);
count = 0;
while (snd_seq_query_next_port(seq, pinfo) >= 0) {
if (check_permission(pinfo, perm)) {
do_action(seq, cinfo, pinfo, count);
count++;
}
}
}
}
See:
http://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=seq/aconnect/aconnec…
I guess you already know the reference documentation site:
http://www.alsa-project.org/alsa-doc/alsa-lib/seq.html
Just for comparison, a similar enumeration using Drumstick looks like this:
QListIterator<PortInfo> it(m_Client->getAvailableOutputs());
while(it.hasNext()) {
PortInfo p = it.next();
cout << p.getClientName() << ":" << p.getPort();
}
See Drumstick's example "drumgrid":
http://drumstick.sourceforge.net/docs/drumgrid.cpp-example.html
Regards,
Pedro
I'm looking for a simple tool where I can point it at an http audio stream, define a number of seconds to detect silence and exit with a non-zero status if silence is detected. It seems like this should be easy but I've been search high and low for such a utility and nothing simple exists. Unfortunately I'm not much of a developer, but this doesn't seem like it would be that difficult. Maybe it's harder than I think, hence no tool that I can find.
Thanks
-jeremy
Hi all
i'm trying to sync arpage (jack synced arpeggiator) to Hydrogen:
in hydrogen i enabled jack transport + set hydrogen as master
Arpage gets triggered when i hit play in hydrogen, but it does not do what
i expect it to do (the tempo is all 'weird')
if i do the same with qtractor, ardour or the jack_transport utility as
jack master everything works as expected
now i'm trying to find an easy way to see if there is any difference
between the way hydrogen and the other apps start/stop/'master' the jack
transport, but so far i cant see any difference
is there any app/utility that can give me detailed info about jack
transport ?
i have logged a ticket (including a screen recording @ bottom of the
ticket) of this strange behavior :
https://github.com/hydrogen-music/hydrogen/issues/81
any tips ?
grtz
Thijs
--
follow me on my Audio & Linux blog <http://audio-and-linux.blogspot.com/> !
Hello Developers,
I have written a short blog post about what I think is the ideal license for open source sampled instrument libraries. It is in fact either a CC license or GPL, I am not so naive to think I am able to write an entire license, but I have added necessary additions and exceptions.
I am not a lawyer and I have no education or official background in law and rights. This is a suggestion, based on my experience with existing licenses and the requirements of sample based virtual instrument libraries, a.k.a "Samples"
http://www.nilsgey.de/2013/02/28/License_Proposal_for_Sample_Instrument_Lib…
I welcome any comments here or in the blog itself since I know that licenses are a serious matter. And I don't want to make a fool of myself. I remember some weird licenses, even in the linux audio community, and I don't want to create one of them :)
Greetings,
Nils
Ignorant here. Trying to scrounge around and make something work for a demo
purpose.
In python I am trying to build this pipeline:
pipeline_txt = (
'jackaudiosrc ! '
'level name=level interval=1000000000 !'
'jackaudiosink')
pipeline = gst.parse_launch(pipeline_txt)
I have been trying that a number of ways.
So, I basically watch the bus for level info.
In a subroutine, I can print the peak info to the terminal.
I can't seem to figure out how to pass this info back to the rest of the
program so that I can hook it up to a graphical meter.
Cna anyone point me to some simple code doing something like this? Give me
some clues that might help someone who seems to be being very dense for days
now?
all the best,
drew
Hello all,
we are working on some development of audio/video web live
applications at the moment. We are facing a little problem, maybe some
people here already came across. Some people advised us to use red5,
an audio/video streaming and multi-user solution to take sound from
mic / sound card input + webcam/cam to be streamed online via your
browser. The biggest problem we are facing is that is based on adobe
closed flash system and it use only proprietary format/codecs such as
mp3, flv and h264 :-(
We are looking for a way to do the same with floss technologies such
as ogg, theora, icecast or others...
The idea is that the final user will stream his sound and video with
his browser and everyone could see/hear him and do the same via their
browser.
We are actually testing some solutions with gstreamer but we still
need an external client, although we are thinking about using some
python script to run on the server to handle gstreamer live stream...
but we are not sure...
Anyway if any of you have any hints or some floss solutions for that,
it would be really highly appreciated :-)
thank you
cheers
Julien
--
APO33
space of research and experimentation
http://www.apo33.org
info(a)apo33.org
Not sure if this is going to help but I did notice with pd-l2ork on a
laptop with an AMD video card (fglrx driver) when I have the tearfree
(vsync) option enabled pd-l2ork's gui gets very sluggish. Disabling the
vsync option makes it fine.
On Feb 24, 2013 3:54 PM, "Fons Adriaensen" <fons(a)linuxaudio.org> wrote:
Hello all,
I'm seeing a strange probelm with Pd. I'm testing a very simple patch
(total CPU load < 1.5% with DSP enabled). There are a few message boxes
used to set a hslider to some preset values. With DSP enabled they take
something like a second to respond to a click. What's wrong here ?
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev(a)lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev