I have notice I forgot to send this mail to LAD as well. Sorry :)
Here it is.
Of course, thanks in advance.
---------- Forwarded message ----------
From: Carlos Sanchiavedraz <csanchezgs(a)gmail.com>
Date: Sat, 1 Aug 2009 19:18:17 +0200
Subject: Python and MIDI orientation for a project
To: linux-audio-user <Linux-audio-user(a)lists.linuxaudio.org>
Hi folks.
I'm cooperating with a friend and fellow to improve his project
related to wiimote.
The project is Wiican[1]. In short, it is a tool (a system tray icon
actually) that makes it easier to connect the wiimote and configure
and create key mappings for use at your will. It's written in python
and uses bluez, hal with dbus, wminput and cwiid.
My goal is to add some layer in such a way that you can map wiimote
events to MIDI. And maybe, to include it on the next improved release
of Musix.
So, in adittion to my researches on the subject and what I already
know about MIDI CCs and so, I would like some advice and guidance
about how to:
- implement MIDI in python (which CCs are a must for you, create and
send MIDI messages, libs, bindings, reference projects),
- implement Jack and Alsa MIDI ports in python (libs, bindings,
reference projects),
... and every other interesting information or experiences on this.
Thanks in advance.
[1] https://launchpad.net/wiican
--
Carlos "Sanchiavedraz"
* Musix GNU+Linux
http://www.musix.es
--
Carlos "Sanchiavedraz"
* Musix GNU+Linux
http://www.musix.es
Arnout Engelen wrote:
> On Sun, Aug 02, 2009 at 02:20:15PM +0200, Ralf Mardorf wrote:
>
>> Arnout Engelen wrote:
>>
>>> If you don't have the copyright to a piece of code you wrote, for example
>>> because you wrote it for your employer, then this means you are *not allowed*
>>> to distribute this code. Not under the GPL, and not under whatever
>>> other license either.
>>>
>>> To distribute the code, you must either get the copyright on the work back,
>>> or get permission from the actual copyright holder (employer, institution) to
>>> do so.
>>>
>> You misunderstood my broken English. GPL only allows a copyleft, that's
>> why no institute or professor can use GPL licensed code and take on the
>> copyright.
>>
>> I don't think any institute is allowed to take on a copyright by using GPL
>> licensed code.
>>
>
> Example.
>
> Say I'm employed, and I'm working on some project for my employer. I download
> some GPL'ed code, and write some nontrivial additions to it.
>
> This now means the institution has the copyright on the code I wrote. If I'd
> want to distribute this software, I'd need 2 things:
> 1) distribute it under the GPL
> 2) ask my employer to either:
> a) grant me my copyright back on the additions
> b) give me permission to distribute the software under the GPL
>
> If I wouldn't do (1), I would violate the copyright of the original author of
> the GPL'ed code I download.
>
> If I wouldn't do (2), I would violate the copyright of my employer.
>
> In other words, if my employer doesn't give me permission to distribute the
> work I did for him, I cannot distribute it at all, regardless of the GPL.
> The instition is still bound by the GPL though, so they can't distribute the
> software under anything other than the GPL - but they can still choose not to
> distribute at all.
>
>
> Arnout
>
Easy to understand examples, thank you. Yes, this is what I mean by my
post, using GPL code means that nobody can take on the copyright without
violating the GPL.
Hi,
I'm currently playing with some code that sends SysEx data to ALSA using
RtMidi¹. I get an error reported by the latter one as soon as the size of the
message exceeds 16355 bytes. Unfortunately, I have such SysEx files of two
devices (namely a Waldorf Microwave I and a Digitech Studio Quad).
Can anyone comment whether this is a limitation in ALSA, and in case it is if
there are coding workarounds? AFAIR ALSA splits incoming SysEx-events into
chunks of 256 bytes if necessary. But I obviously overlooked that sending is
much harder when I played with SysEx data the last time :) .
Best regards,
ce
¹ http://www.music.mcgill.ca/~gary/rtmidi/
uname -a
Linux Grandevitesse 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC
2009 i686 GNU/Linux
cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
rtmidi-1.0.10
On 1/8/2009, "Ulrich Lorenz Schlüter" <audio-mobster(a)gmx.de> wrote:
>with vcf-lv2-0.0.2 I get errors:
>
>plugins/bandpass1-vcf.lv2/bandpass1.c:10:17: error: vcf.h: No such file
>or directory
>plugins/bandpass1-vcf.lv2/bandpass1.c:11:26: error: filter_type2.h: No
>such file or directory
Woops... A little embarrassing. Thanks for letting me know.
Uploaded what should have been, try again.
src: http://www.jwm-art.net/lv2/vcf-lv2-0.0.2.tar.gz
patch: http://www.jwm-art.net/lv2/vcf-lv2-0.0.2.patch.gz
Regards, James.
I am pleased to announce a new mailing list for general questions and comments relating to Impro-Visor:
impro-visor-general-request(a)lists.sourceforge.net
which is hosted at:
https://sourceforge.net/projects/impro-visor/
Information on subscription may be found here:
https://lists.sourceforge.net/lists/listinfo/impro-visor-general
Thanks for your constructive suggestions.
Regards,
Bob Keller
--
Robert M. Keller, Csilla and Walt Foley Professor of Computer Science
Harvey Mudd College
Hi,
First release of the VCF LADSPA plugins ported to LV2:
(again, temporary download location)
http://www.jwm-art.net/default_downloads/vcf-lv2-0.0.1.tar.gz
notes:
some of the filters appear to work incorrectly in ardour2,
but appear to work correctly in lv2rack and ingen. i don't
yet know if this is a fault with my .ttl files, if anyone
with more knowledge than i can clarify it'd be much appreciated.
----------------
Second release of the NJL LADSPA plugins ported to LV2:
http://www.jwm-art.net/default_downloads/njl-lv2-0.0.2.tar.gz
changes:
* removed www. from LV2 URI prefixes of all plugins
* fixed port properties which specified 'integer' instead
of 'Integer'.
----------------
plugins have been (unthoroughly) tested in lv2rack, lv2_jack_host,
ingen, and ardour2. of the vcf plugins, the CV variants are mostly
untested.
Cheers,
James.
Hi Alex
On Tue, 28 Jul 2009 23:42:02 you wrote:
> I have tried the contact form on the FFADO website and through the email
> address provided in the contact pages at the SourceForge.net project page
> to no avail. I'm not sure where else to ask except here. Are any of the
> FFADO developers on this email group that can provide a contact email that
> will garner a response?
I *think* I responded to an email later in this thread, but in case it was
missed feel free to contact me off-list about whatever it is you were
wanting to ask and I'll attempt to help you out.
Regards
jonathan
guitarix is a simple Linux Rock Guitar amplifier and is designed
to achieve nice thrash/metal/rock/blues guitar sounds.
Guitarix uses the Jack Audio Connection Kit as its audio backend
and brings in one input and two output ports to the jack graph.
Release 0.05.0-1 comes with some major changes:
* Completely new source structure by James
* add keyboard shortcuts
* improved skin handling
* add logging window
* improved preset handling
* add middle tone control
* reworked audio engine
* add bypass mode
* add engine state widget
Please read the README for more details regarding the new options.
have fun
________________________________________________________________________
The standalone version of guitarix is based on GTK2+.
But guitarix is also released as a suite of LADSPA plugins
and can be used in e.g. ardour.
guitarix is licensed under the GPL.
Project page with screenshots:
http://guitarix.sourceforge.net/
download:
http://sourceforge.net/projects/guitarix/
For capture, guitarix uses the external application
'jack_capture' (version >= 0.9.30) written by Kjetil
S. Matheussen. If you don't have it installed,
you can look here:
http://old.notam02.no/arkiv/src/?M=D
For extra Impulse Responses, guitarix uses the
convolution application 'jconv' created by Fons Adriaensen.
If you don't have it installed, you can look here:
http://www.kokkinizita.net/linuxaudio/index.html
I(hermann) use faust to build the prototype and will say
thanks to
: Julius Smith
http://ccrma.stanford.edu/realsimple/faust/
: Albert Graef
http://www.musikwissenschaft.uni-mainz.de/~ag/ag.html
: Yann Orlary
http://faust.grame.fr/
regards
guitarix-dev team: Hermann Meyer & James Warden
Hi there,
I'm using the lib lv2-plugin to write a plugin with c++ as you will know.
Now what's the proper way to get the sample rate?
Thanks in advance
Uli
On Thu, 2009-07-30 at 11:55 +0200, xmag wrote:
> Hi,
>
> I wrote all the Glame* filters, did you send me an email, and if, where
> did you send it :-)
I sent Steve Harris an email about some issues in the swh plugins, but
no problems were spotted in the Glame* filters by my test app.
> What is your testapp doing?
> I guess, your probably just calling instantiate and then cleanup.
Just this:
if ((handle = instantiate(descriptor, SRATE))) {
descriptor->cleanup(handle);
}
> The structs are initialized within the activate function. I don't know
> whether it is mandatory to call this function or not.
I don't think it is mandatory. I can't see that in the spec.
> A quick look in my code shows, that in util/iir.h the function
> free_iirf_t does not check if the pointers are different from NULL
> before freeing them. This probably causes the segfault.
> Maybe this should be fixed :)
Yep, that fixes all of them, in iir.h and iir.c.
Thanks.
Damon
--- iir.h.orig 2006-08-08 16:53:50.000000000 +0100
+++ iir.h 2009-07-30 11:09:59.000000000 +0100
@@ -63,9 +63,11 @@ static inline iirf_t* init_iirf_t(iir_st
static inline void free_iirf_t(iirf_t* iirf, iir_stage_t* gt) {
int i;
- for(i=0;i<gt->availst;i++){
- free(iirf[i].iring);
- free(iirf[i].oring);
+ if (gt){
+ for(i=0;i<gt->availst;i++){
+ free(iirf[i].iring);
+ free(iirf[i].oring);
+ }
}
free(iirf);
};
--- iir.c.orig 2003-09-13 12:55:23.000000000 +0100
+++ iir.c 2009-07-30 11:12:45.000000000 +0100
@@ -85,10 +85,12 @@ void combine_iir_stages(int mode, iir_st
void free_iir_stage(iir_stage_t *gt){
int i;
- for(i=0;i<gt->availst;i++)
- free(gt->coeff[i]);
- free(gt->coeff);
- free(gt);
+ if (gt){
+ for(i=0;i<gt->availst;i++)
+ free(gt->coeff[i]);
+ free(gt->coeff);
+ free(gt);
+ }
}
/* center: frequency already normalized between 0 and 0.5 of sampling