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
Hi,
These last few days I found some time to work on ladspa.m.lv2, an LV2
plugin to load ladspa.m.proto instrument definition files:
https://github.com/fps/ladspa.m.lv2
It is in a somewhat usable state, i.e. used in ardour3 it loads the
example instrument generated by this python script:
https://github.com/fps/ladspa.m.proto/blob/master/example_instrument.py
which is a very simple polyphonic sawtooth synth with exponential
envelopes and an echo with differing delay times per voice. There's
still some things to do (e.g. expose control ports, implement
All-Notes-Off midi messages, lots of optimizations - right now I care
more for correctness than for efficiency, etc.) and I also have some
questions:
1] This one is regarding waf. I'm not used to writing wscript files and
I adapted the whole thing from the example sampler from the
LV2-distribution. I wonder how I can make waf to use e.g. -fPIC and
other compiler flags needed for my 64-bit system. Right now I have put a
little makefile into the repository which passes the missing options
along as CXXFLAGS environment variable. This is a dirty hack. So if
anyone waf guru might want to take a look, I'd be so ever grateful.
https://github.com/fps/ladspa.m.lv2/blob/master/makefilehttps://github.com/fps/ladspa.m.lv2/blob/master/wscript
2] I'm a little bit puzzled by how the patch_set messages together with
the LV2 worker extension works. If you take a look at this run() function
https://github.com/fps/ladspa.m.lv2/blob/master/instrument.cc#L702
you'll see that I have an extra LV2_ATOM_SEQUENCE_FOR_EACH at the start
of the function to process the patch_set messages. I tried to integrate
that into the loop later on (that iterates over the sample_count frames
and lets the midi events take effect at their respective frame), but
once I do that, patch loading stops to work. I must be missing something
fundamental. So if any LV2 guru might want to take a look, I'd be very
grateful, too
Thanks and have fun,
Flo
--
Florian Paul Schmidt
http://fps.io
INTERNATIONAL COMPUTER MUSIC CONFERENCE 2013
REGISTRATIONS NOW OPEN FOR ICMC 2013
Registrations are now open to attend the 2013 International Computer Music Conference. This year will see the conference held in Perth, capital city of Western Australia. Paper sessions, performances, installations, presentation of spatialised works will all take place within the Perth Cultural Centre, situated in the heart of the city’s cultural district, The Cultural Centre is only a short distance away from the natural beauty of King’s Park, the Swan River and some of Western Australia’s famous world class beaches.
Addressing the theme IDEA: International Developments in ElectroAcoustics, this year will feature keynote speakers Agostino Di Scipio (Italy), Haco (Japan), Warren Burt (Australia) and Alvin Curran (USA). The conference will open on Sunday the 11th of August and run until the 17th with a lunchtime conference banquet to be held on the final day.
Register soon to take advantage of early registration discounts.
The International Computer Music Conference (ICMC) has been the major international medium for the presentation of technical and musical research, both musical and theoretical, interrelated to the use of computers in music - since. ICMC travels the globe annually, and will be held in the southern hemisphere and Australia for the first time this year.
Please stay tuned to the ICMC2013 website as news, information and content is being added regularly. www.icmc2013.com.au
The conference will also run concurrently with Tura’s biennial Totally Huge New Music Festival, a ten day biennial festival which incorporates concerts, installations, master classes, young artists’ events and free outdoor concerts.
For more information visit the Tura New Music Website www.tura.com.au
Please direct all conference enquiries to: Andrew Varano conference(a)tura.com.au
ICMC 2013 is presented by Tura New Music, The International Computer Music Association, The Australasian Computer Music Association and Edith Cowan University and is supported by The Perth Convention Bureau, The Perth Institute of Contemporary Arts, The State Library of Western Australia, The Western Australian Museum and the Metropolitan Redevelopment Authority.
Hello LAD and LV2,
It's been a little while, but I've finally managed to put together
another LVTK release.
Major Additions
* LV2UI rev3 Supported
* Support LV2UI_Port_Map
* Support LV2UI Port Subscribe
* Support LV2UI Touch
* Support LV2UI Peak Data (just a typedef)
* Support buf-size
* Support Options Extension
The source tarball and details can be found here:
http://lvtoolkit.org/releases/lvtk-v1-1-0
Hiho,
this Wednesday there is a Creative Music Coding lab meeting at STEIM:
"The CMC lab is an autonomous zone to try out sonic experiments as a
group. And an opportunity to leverage the expertise of the group in
realizing new artistic tools and processes through the medium of code.
Many of the founding members of the group are indeed experts in their
favorite languages, but we come from all technical levels of
proficiency and enjoy helping one-another out."
http://steim.org/event/creative-music-coding-lab-3/
DATE: Wednesday, 24 APRIL 2013
TIME: 19:00
ENTRY: FREE
LOCATION: STEIM Concert Space, Utrechtsedwarsstraat 134 Amsterdam, the
Netherlands
Sincerely,
Marije
Hi,
I'm happy to share with you a new beta release of io GNU/Linux, a complete
multimedia workstation based on Debian SID and built with the great Debian-
Live tools.
It includes programs for most uses, with Enlightenment e17+ecomorph as window
manager, Jack2 and Ladish, etc...
This build doesn't include documentation / getting started... Will be part of
a future iso.
Feedbacks welcome, enjoy :)
http://mk.biniou.net/iognulinux.html
Laborejo 0.7 is released.
Together with a new website design http://www.laborejo.org comes a new release of the Music Notation Workshop.
Besides the usual fixes and small enhancements please focus your attention on the following new features:
-Non Session Manager support. Start Laborejo through the NSM Gui and it will be under session management
-Numpad Palette and corresponding shortcuts. A gui widget shows you what musical objects your numpad will insert.
You can change the palette through the menu or by switching through with numpad-plus and numpad-minus.
-A moving playback cursor, showing you which part of Bachs "Kunst der Fuge" you currently don't understand
Laborejo -Music Notation Workshop- is a graphical user interface for Lilypond, a MIDI creator and finally a tool collection to inspire and help you compose. You get beautifully engraved notation through Lilypond and nice ways to control the playback without ever leaving a notation-based environment.
Latest Screenshot:
http://www.laborejo.org/latestscreenshot.png
Instructions and Download Page:
http://laborejo.org/Download
Greetings,
Nils Gey
http://www.laborejo.org
#laborejo on irc.freenode.org
I'm proud to announce the release of guitarix2-0.27.0
Guitarix is a mono tube amplifier simulation for jack, with additional
mono/stereo effect racks which can be filled with a variety of in-build
effects and external LADSPA plugins.
Most guitarix plugs and amps are now available as LV2 plug-in, to be
used in your favorite DAW.
The complete guitarix engine is available as LADSPA plug as well.
change-log:
* fix deprecated g_type_init() call when glib >= 2.36
* fix controller range for gxtubedelay.lv2
* add gxtuner.lv2
* add gxmetal_head.lv2
* add gxmetal_amp.lv2
* a couple of small fixes here and there
* maybe some new bugs ??
Please refer to our project page for more information:
http://guitarix.sourceforge.net/
download site:
http://sourceforge.net/projects/guitarix/
bug tracker
http://sourceforge.net/p/guitarix/bugs/
patches
http://sourceforge.net/p/guitarix/patches/
forum
http://sourceforge.net/apps/phpbb/guitarix/
in behave of the
guitarix development team
enjoy the spring
I'm proud to announce the release of guitarix2-0.26.0
Guitarix is a mono tube amplifier simulation for jack, with additional
mono/stereo effect racks which can be filled with some in-build effects
as well as with external LADSPA plugins.
Download from http://sourceforge.net/projects/guitarix/
This release is mostly related to the LV2 port of guitarix modules.
With this release we remove the previous released GxAmplifier LV2
versions and replace them with the new GxAmplifier-X module, which
include the complete guitarix amp head with all tube, tonestack and
cabinet selectors. It comes as Mono and as well as Stereo version.
Additional some completely new Amp models by our new Team member Steve
Poskitt been included.
A couple of additional effect modules been ported to LV2.
See the list below.
(FOR DEVELOPERS AND MAINTAINERS)
For guitarix main we have included some new (and fix some old) configure
options required by Gentoo proaudio overlay and Fedora maintainers.
Additional there are some new configure options mostly related to the
new LV2 port which may interest the one or the other of you. Check them
out with ./waf –help
As usual, all used faust dsp files been included within the source, as
well all our tools we us to create and port them to LV2. All LV2 plugs
comes with GUI's based on our included libgxwmm, a additional Gtkmm
toolkit library.
Special thanks to David Robillard and Harry van Haaren for there open
ears on the LV2 mailing list.
Included LV2 modules:
* GxAmplifier-X
* GxAmplifier-Stereo-X
* GxAutoWah
* GxWah
* GxBooster
* GxChorus-Stereo
* GxCompressor
* GxDelay-Stereo
* GxEcho-Stereo
* GxEchoCat
* GxExpander
* GxFlanger
* GxPhaser
* GxRedeye Chump
* GxRedeye Big Chump
* GxRedeye Vibro Chump
* GxReverb-Stereo
* Gx Alembic Mono
* Gx Studio Preamp Stereo
* GxTiltTone
* GxTremolo
* GxTubeScreamer
* GxTubeDelay
* GxTubeTremelo
* GxTubeVibrato
* GxZita_rev1-Stereo
Please refer to our project page for more information:
http://guitarix.sourceforge.net/
download site:
http://sourceforge.net/projects/guitarix/
have fun
guitarix development team