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
For me, on a GeForce6150LE, the only video driver that is really
stable on the RT kernel is vesa. The NVidia driver works OK with a
non-RT kernel (and the 'threadirqs' boot parameter, rtirq script,
etc.), but only on 64 bit. The nouveau driver has never worked on my
machine with any kernel, ever. I haven't tried nv in a long time
because it gives me pathetically low resolution.
But, if you want to try the NVidia proprietary driver, it is better to
patch the driver souces rather than faking the license in the kernel.
See here:
http://article.gmane.org/gmane.linux.rt.user/7478
This patch lets the NVidia module build on 3.0 and 3.2 RT kernels.
This kernel/driver combination does not work on my machine,
unfortunately. But
- Trulan
(Sorry for crossposting.)
faust-lv2 is an LV2 architecture for the Faust programming language
(http://faust.grame.fr/), which lets you compile Faust programs to LV2
plugins ready to be used with any LV2 host. It supports both effect
(audio->audio) and instrument (midi->audio) plugins. The package
includes the Faust LV2 architecture files, a few Faust examples, and
generic waf scripts for building and installing the sample plugins.
faust-lv2 can be downloaded from its project website at
http://faust-lv2.googlecode.com. Here's the direct download link to the
source tarball: http://faust-lv2.googlecode.com/files/faust-lv2-0.1.tar.bz2
Documentation is available in the package (README file) and on the
website
(http://wiki.faust-lv2.googlecode.com/hg/doc/_build/html/index.html).
This includes detailed installation and usage instructions.
faust-lv2 0.1 is the initial release which has been tested on x86_64
Linux with jalv, Ardour3 and Qtractor, using lilv as the LV2 host
library. You'll also need fairly recent versions of Faust (0.9.46 or
later should do) and the LV2 framework (available at http://lv2plug.in/).
Other LV2 hosts should work as well. Unfortunately, that doesn't include
zynjacku/lv2rack right now, apparently because of some bugs or
incompatibilities with the latest LV2 release. Nedko, maybe you could
check https://gna.org/bugs/?19282 some time, thanks. :)
Enjoy! :)
Albert
--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email: Dr.Graef(a)t-online.de, ag(a)muwiinfa.geschichte.uni-mainz.de
WWW: http://www.musikinformatik.uni-mainz.de/ag
Hi,
I have an asus amd64 PC with a nvidia GeForce 8800 GT graphic card. This
PC is working fine with the gentoo-kernel and the nvidia proprietary
kernel module.
I want to experiment with the rt-kernel. It is 3 modules for the
nvidia card.
- The nvidia proprietary module, I guess that this is not necessarily a
good choice because it will not be patched for use with the rt-kernel.
But I am not sure.
- The 2 others are with the kernel, nv and nouveau.
Which module will be best to use with the rt-kernel?
Ciao,
Dominique
--
"We have the heroes we deserve."
Hi!
Since I always roll my own kernels, I never bothered to check, but there
is indeed an RT patched kernel in Debian:
http://packages.debian.org/sid/linux-image-rt-amd64
Might be useful to some of you.
Cheers
----- Forwarded message from Ben Hutchings <ben(a)decadent.org.uk> -----
Date: Sun, 29 Jan 2012 18:22:05 +0000
From: Ben Hutchings <ben(a)decadent.org.uk>
To: debian-devel-announce(a)lists.debian.org
Cc: debian-kernel(a)lists.debian.org
Subject: Linux 3.2 in wheezy
Debian 7.0 'wheezy' will include Linux 3.2. This is currently in
unstable and will soon enter testing.
The kernel team is open to backporting some features from later kernel
versions, particularly to support newer hardware.
Featuresets
-----------
The only featureset provided will be 'rt' (realtime), currently built
for amd64 only. If there is interest in realtime support for other
architectures, we may be able to add that.
[..]
----- End forwarded message -----
--
mail: adi(a)thur.de http://adi.thur.de PGP/GPG: key via keyserver
Hi all,
I'm glad to announce the release of NASPRO 0.4.0.
NASPRO (http://naspro.atheme.org/) is meant to be a cross-platform
sound processing software architecture built around the LV2 plugin
standard (http://lv2plug.in/).
The goal of the project is to develop a series of tools to make it
easy and convenient to use LV2 for sound processing on any (relevant)
platform and for everybody: end users, host developers, plugin
developers, distributors and scientists/researchers.
This release is a huge one! The main news are the introduction of the
ino and gino libraries and of the FreeADSP application, the addition
of threading and unnamed semaphore APIs to NASPRO core, as well as
some API breakage there w.r.t. UTF-16 string encoding/decoding, some
fixing of preset data generation in NASPRO Bridge it and various
cosmetic changes here and there. You can find detailed ChangeLogs in
the tarballs.
It includes:
- NASPRO core: the portable runtime library at the bottom of the architecture;
- NASPRO Bridge it: a little helper library to develop
insert-your-API-here to LV2 bridges;
- NASPRO bridges: a collection of bridges to LV2 which, once
installed, allow you to use plugins developed for other plugin
standards in LV2 hosts;
- LV2proc: a simple command line effect processor using LV2 plugins;
- ino and ino/JavaScriptCore: minimalist C API to execute JavaScript
code and to expose native methods to JavaScript execution contexts +
JavaScriptCoreGTK+ 2/3 based implementations;
- gino and gino/WebKitGTK+: minimalist C API to create GUIs using
HTML/CSS/JavaScript and interfacing them with C code + WebKitGTK+2
implementation.
- FreeADSP: MIDI-controlled real-time stereo effect rack using LV2 plugins.
In particular, the NASPRO bridges collection includes two bridges: a
LADSPA (http://www.ladspa.org/) 1.1 and a DSSI
(http://dssi.sourceforge.net/) 1.0.0/1.1.0 bridge.
*BEWARE*: most of the new stuff is in early stages of development!
NASPRO core, NASPRO Bridge it and NASPRO bridges are released under
the LGPL 2.1, LV2proc and FreeADSP are released under the GPL 3, ino,
ino/JavaScriptCore, gino and gino/WebKitGTK+ are released under an
ISC-style license.
Enjoy!
Hi all,
I'm developing a small app which uses aubio to extract the fundamental
Frequency of a monophonic guitarsignal to drive a set of wavetable
synths. It works quite well and I'll put up on the net when I have the
time.
But I would like to extract the fundamentals of a polyphonic signal.
Does anyone know of a lib which does this in realtime? Or at least a
state of the art paper I could implement?
thanx,
Gerald