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
Hello everyone,
During this jolly holidays, I worked a bit on the AMS LV2 plugins.
The version 0.0.6 can be downloaded here:
http://sourceforge.net/projects/avwlv2/files/avw.lv2.0.0.6.tar.gz/download
This new version comes with:
* Basic GUI for Analog Driver, Envelop and Advanced Envelop
* Ported:
- CV Source
- Delay
- Dynamic Waves (4 Osc)
The basic GUIs are based on the ones from AMS itself.
In addition, the SVN is now fixed:
svn checkout svn://svn.code.sf.net/p/avwlv2/code/trunk avwlv2-code
Finally, plans for the future are to port more of the AMS plugins (I'm
sorry guys, but I'm only gonna port the ones I actually use and might
ignore some others).
I was thinking as well to:
- create a percussive envelop and 'Note Filter' (a plugin that let the
Velocity/Gate/Trigger of the Ingen Note Internal go through only when
a certain Frequency is hit). I have patches that simulate the TR 808
Kick/Snare/Etc, and I need these to be able to create a Drum Machine
in Ingen.
- create a beat slicer/repeater plugin (probably will base the code on
Tranches).
- a LFO synchcronized with Jack (I have always missed that one AMS!).
So here you go!
Have a happy new year 2012 guys!
Aurélien
I want to learn how to program with JACK. I found this tutorial:
http://dis-dot-dat.net/index.cgi?item=/jacktuts/starting/
linked from this page ( http://jackaudio.org/documentation ). I noticed
that the tutorial has some broken links. Is this still a good resource to
learn from? Or are there any better ones out there? Any suggestions will
be much appreciated.
Thanks,
Kris
Thanks, sounds good, I am thinking here: cheap synthesizer.
Victor
On 29 Feb 2012, at 10:40, James Harrison wrote:
> Comes with a DAC, but no ADC as far as I can see.
>
> Cheers,
> James Harrison
>
>
> On 29/02/2012 10:30, Victor Lazzarini wrote:
>> Does anyone know whether the Raspberry PI comes with a DAC/ADC?
>>
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>>
>>
>>
>> _______________________________________________
>> Linux-audio-dev mailing list
>> Linux-audio-dev(a)lists.linuxaudio.org
>> http://lists.linuxaudio.org/listinfo/linux-audio-dev
Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie
Hi everyone, hoping to get opinions from gurus on here, who have been
*incredibly* helpful in getting my project to where its at. A million thank
yous!
Ok, the situation so far, which is working well:
- the app uses a generalized 'message' structure, all the different forms
of messages fit into this structure by having it act alike a union. ( ie, a
message always takes up the same amount of space, no matter the type )
- messages do not container pointers, in order that they be simple to send
and receive over network clients, hardware, etc
- there are ringbuffers between my audio thread and real time thread
What I'm tackling:
- I want to add the capability for messages to have deferred execution, so
they can be sent with a 'process at 4:3:1' kind of thing
- I think the best tradeoff for my app so far will be to use a hybrid of a
timeline array and a linked list. there will be coarse time values stored
by raw array indexing, speeding up lookup, and fine time values will be
stored in the messages themselves
- so, when the engine is processing deferred messages, it will go and check
timelineArray for all messages at bar 1:beat 1, which will be a linked list
of all the messages with start time between bar:1 beat 1 and bar 1: beat 2
( time resolution may change, this just for example
- then the engine iterates on every tick through that list of messages.
This way, iteration on every tick is limited to a reasonable sized linked
list and I can play with the cpu vs data storage equation by simply
changing the resolution of the time line array
Issues:
- I need to allocate memory for new linked list items in the realtime thread
- the timeline array needs to be able to grow in the real time thread
Thoughts:
- I don't need to get it perfect *right now* but I need to be able to
change it to Really Good later
- I checked out some resources, like this one the Design Patterns for *Real*
-*Time* Computer *Music*
Systems<http://www.google.ca/url?sa=t&rct=j&q=audio%20allocating%20memory%20in%20re…>
and the supercollider book chapter and see there are a lot of options
- I could pre-allocate a giant list of messages and pluck the data off that
list when I need to make a new one
- I could pre-allocate a block of memory and allocate off that
- I could allocate in the non-realtime thread and then pass memory over in
queues.
Would love to hear opinions on how others would solve these, including
tradeoffs of each.
thanks!
iain
Hello list,
I would like to share a piece I've just finished.
The original blog entry is here, but for your convenience I'll include a copy into this mail.
Feel free to use any channel you want if you would like to comment on it.
http://www.nilsgey.de/2012/02/29/airship-theme/
Airship - A 16bit Soundtrack Theme
direct download: http://www.nilsgey.de/uploads/NilsGey-AirshipTheme.mp3
I have finished my first just-for-fun composition since a very long time ago. It is a game-soundtrack like piece I named “Airship”. I can imagine this in a Japanese 90’s RPG from the SNES or Sega Genesis/MegaDrive era.
Software used: Laborejo composition and midi generation, Fluidsynth for midi to wave rendering and Ardour for the fadeout :) .
I used an .sf2 called Setzers SPC which I have downloaded here. I am not sure about the soundfonts legal status so I am careful and release the Airship Theme not as a free piece but just as: Listen to it freely, share and redistribute it but don’t use it in any work, derived or original, or as part of a game or video etc. Don’t do anything commercial with it and don’t change the mp3 tags. If you find a named, matching License to this description feel free to use that instead.
I would be very happy if you leave a comment or click this blogs “Like” button.
Greetings,
Nils
http://www.nilsgey.dehttp://www.laborejo.org
If there is Linux and Alsa, we should just be able to cross-compile (or even compile on the Raspberry if there is gcc); I don't see many difficulties. It should be easier than android and iOS.
I might see if I can get one to run Csound on.
Regards
Victor
On 29 Feb 2012, at 10:46, James Harrison wrote:
> I'm hoping that adding an ADC won't be too tricky, though it has USB so a USB sound card should work. For $25 an end, it'd make a lovely portable IP codec for broadcast with CELT and RTP...
>
> Cheap synth would be neat, though. Wonder how much stuff in the Linux audio world is ARM-compatible?
>
> Cheers,
> James Harrison
>
>
> On 29/02/2012 10:45, Victor Lazzarini wrote:
>> Thanks, sounds good, I am thinking here: cheap synthesizer.
>>
>> Victor
>> On 29 Feb 2012, at 10:40, James Harrison wrote:
>>
>>> Comes with a DAC, but no ADC as far as I can see.
>>>
>>> Cheers,
>>> James Harrison
>>>
>>>
>>> On 29/02/2012 10:30, Victor Lazzarini wrote:
>>>> Does anyone know whether the Raspberry PI comes with a DAC/ADC?
>>>>
>>>> Dr Victor Lazzarini
>>>> Senior Lecturer
>>>> Dept. of Music
>>>> NUI Maynooth Ireland
>>>> tel.: +353 1 708 3545
>>>> Victor dot Lazzarini AT nuim dot ie
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Linux-audio-dev mailing list
>>>> Linux-audio-dev(a)lists.linuxaudio.org
>>>> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>> Dr Victor Lazzarini
>> Senior Lecturer
>> Dept. of Music
>> NUI Maynooth Ireland
>> tel.: +353 1 708 3545
>> Victor dot Lazzarini AT nuim dot ie
>>
>>
>>
>> _______________________________________________
>> Linux-audio-dev mailing list
>> Linux-audio-dev(a)lists.linuxaudio.org
>> http://lists.linuxaudio.org/listinfo/linux-audio-dev
Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie
Does anyone know whether the Raspberry PI comes with a DAC/ADC?
Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie