On Sat, 2009-07-04 at 19:12 -0400, Mark Vitek wrote:
> Hello,
>
> I am new to audio/midi programming, but in my experience Jack is the
> easier API to learn/use.
> If you download midimon from sourceforce, and look in mm_jack.cc /
> mm_jack.h you can see the basic usage.
> Basically, you pass a callback function to jack, which allows you to
> pull available MIDI events from the jack API.
> I just queued those up using a Glib queue, and pull the events off in
> the user interface thread. Very straightforward.
> http://sourceforge.net/projects/midimon/
Thank you, I'll have a look in this.
What I can't understand is if it is possible, with the jack API, to
actually *create* midi note on/off messages. The examples I've seen
(like midimon too, it seems to me) only handle (reroute etc.) midi
coming from other sources, like an external keyboard or another program.
In my case instead I'll have to actually create those messages, as for
example midi sequencers do.
May this is the reason why programs that generate midi (seq24 for
example) use alsa? (see my confusion in point 1) in first message)
Renato
Thorsten Wilms schrieb:
> On Fri, 2009-07-03 at 23:19 +0200, Ulrich Lorenz Schlüter wrote:
>
>
>> I proudly released version 0.1 of uli-plugins, a collection of LV2 plug
>> ins. ULI is the abbreviation for *U*lis-*L*v2-*I*nserts.
>>
>
> Hi!
>
> ./waf configure failed to find lv2-plugin. I had to comment/uncomment
> lines in wscript to make it look for lv2core instead ... so you seem to
> know about this problem in principle? ;)
>
> But now I get:
> ../gates/and2i.cpp:1:25: error: lv2plugin.hpp: No such file or directory
>
Hi Thorsten,
on my Gentoo the lib lv2-plugin comes with a package named
lv2-c++-tools. The missing header also belongs to that package.
Everything should be fine after installing.
Uli
Robert Keller wrote:
>
> On Jun 11, 2009, at 5:19 AM, Grammostola Rosea wrote:
>
>> lasconic wrote:
>>> I took some time yesterday night to take a look to improvisor code and
>>> estimate the cost of adding musicXML export. Import is indeed more
>>> complicated.
>>> I downloaded the code of improvisor 3.39. It's the last and only code
>>> available. Improvisor inner model is a little bit different than
>>> musicXML
>>> one. Common practice in musicXML is to don't "time" the chords and
>>> put them
>>> in the middle of notes. At least, this is my experience with finale
>>> musicXML
>>> export features. I managed to make a quick and dirty prototype to
>>> export a simple melody (no
>>> tuplet) and chord root and bass (no extension yet). Chords are in
>>> between
>>> notes but lily+musicML2ly shoud be able to deal with it.
>>> Unfortunately, 3.39
>>> is an old version, and according to Bob Keller the code base changed
>>> a lot
>>> but it's not public yet. With some more voices, perhaps we can
>>> convince Bob Keller and his team to
>>> open up the repository to the public. After all, improvisor is a
>>> fine piece
>>> of software which can benefit from open development, moreover if
>>> time and
>>> resources are an issue.
>>>
>>> Lasconic
>>>
>>>
>> Thanks man. I'll forward this to Bob Keller too.
>> I think he mentioned in a message that he is willing to give
>> developers svn access to the recent code.
>>
>> Bob, could you comment on this?
>>
>> Kind regards,
>>
>> \r
>>
>
> I'll be looking toward moving Impro-Visor to a public repository, as
> soon as I stabilize the current version, which I hope will be before
> the end of June. Is SourceForge the best bet?
>
> Thanks.
>
> Bob
>
> Robert Keller
> Csilla & Walt Foley Professor
> Computer Science
> Harvey Mudd College
>
>
>
>
>
Hey Bob,
How are things going? New version almost ready? And is the source public
on SourceForge yet? Looking forward to it.
Kind regards,
Roos
Sorry for the crossposting, but the statistics show that only some people have subscribed to all three lists.
------------
Just after one month the Denemo project has released a new version of its music notation program. Denemo 0.8.6, which is available for Windows, Linux and MacOS (via third-party builds) as source and binaries. The software is distributed under the GPL. Denemos notation-functionality is ready for daily and professional use and aims to be the only tool you ever need for notation and an Open Source alternative to Finale, Sibelius or other unfree software, because the tools for producing art and culture should be free.
Notable new features are
- Downloading new commands and edit scripts between releases
- MIDI out, Tempo and Volume changes and insertion of arbitrary MIDI messages at any point in the music.
- Edit lyrics in text editor and see the syllable placement as you type. Multiple verses per voice allowed.
- Pasting LilyPond text directly into the Denemo window. By pasting the actual music text a Denemo editable score can be created from almost any LilyPond file.
- With JACK, the playback starts from the cursor or plays back the selection if there is one. All this happens withoutre-creating the MIDI data, and in any case without generating external files.
Official support, beneath our website, is avaible via our IRC channel #denemo on irc.freenode.net.
For future improvements our team searches for additional developers. If you are interested in notation and midi-sequencing please join the team!
Website: http://www.denemo.org
Additional information:
GNU Denemo is a free, GPL, open source music notation editor for Linux, MacOS and Windows that lets you rapidly enter notation for typesetting via the LilyPond music engraver. You can compose, transcribe, arrange, listen to the music and much more. Music can be typed in at the PC-Keyboard, or played in via MIDI controller, or input acoustically into a microphone plugged into your computer's soundcard.
Ken Restivo <ken(a)restivo.org> writes:
> Now all we need is a parametric EQ that allows one to click on the
> curves and put dots ... [snip] ...
It is planned but I dont consider it that important so it will probably
not happen (soon) unless somewhat with pygtk and cairo skills
contributes.
--
Nedko Arnaudov <GnuPG KeyID: DE1716B0>
Heya,
Just a quick announcement:
I just moved into Fedora Rawhide a little daemon called "RealtimeKit"
which will be enabled by default, and since it is now a dependency of
PulseAudio and things work how they work this will then not only be
available in Fedora 12 but also sooner or later in the other
distributions as well, installed by default.
So what does this do? It's a simple policy daemon that hands out
SCHED_RR scheduling to normal user processes/threads that ask for it.
So what's so fancy about it? Nothing. Except that is hopefully a good
solution for handing out RT scheduling and is also actually secure.
What's wrong with using RLIMIT_RPRIO? The simple fact that we cannot
enable that by default since it basically empowers the user to freeze
the machine. Also, asking the user to edit /etc/security/limits.conf
is certainly not user-friendly. We want to enable RT scheduling for
media aplications out-of-the-box.
But what's wrong with relying on RLIMIT_RTTIME? Being a process limit
it can very easily be circumvented for freezing the machine by
combining an RT busy loop with a fork bomb.
But what's wrong with relying on on a canary watchdog to avoid
freezing systems? It's racy: an evildoer could fork more quickly than
the canary watchdog daemon could demote its children. So a canary is
not really a protection against a frozen system.
Why not use cgroups for this? Because it's simply a horrible API, and
using this for media applications has non-obvious consequences on
using cgroups for their originally intended purpose -- which are
containers.
So what does RealtimeKit do that previous solutions didn't do? rtkit
relies on a new kernel feature SCHED_RESET_ON_FORK that got recently
merged into Ingo's tree and will hence shortly appear in 2.6.31. You
can set that flag when entering SCHED_RR scheduling and this will then
make sure that after forking a child will be reset to
SCHED_OTHER. RT fork bombs can thus be made impossible: if we hand out
RT to a process we can be sure it won't "leak", and if we decide to
take it away again we can be sure we can do that without having to be
afraid of races around forking.
rtkit enforces limits on the the number of threads/processes/users
that get RT sched. It also does rate limiting, and calls into
PolicyKit before handing out RT. Finally, as extra a-posteriori
protection it also includes a canary watchdog.
So what does that mean for you?
If you don't do RT development or doing RT development only for
embedded cases, or if you are a Gentoo-Build-It-All-Myself-Because-It-Is-So-Much-Faster-And-Need-To-Reinvent-The-Wheel-Daily-And-Configurating-Things-Is-Awesome-Guy
then it doesn't mean anything for you.
However, if you are a desktop developer interested to get your stuff
working out-of-the-box on modern distributions then you should think
about calling into RealtimeKit for acquiring RT scheduling.
RealtimeKit has a trivial API, to make a thread SCHED_RR it's just one
D-Bus method you need to call. You can either code that call yourself
or alternatively just copy the reference client implementation rtkit
includes into your sources:
http://git.0pointer.de/?p=rtkit.git;a=blob;f=rtkit.hhttp://git.0pointer.de/?p=rtkit.git;a=blob;f=rtkit.c
For more information see this:
http://git.0pointer.de/?p=rtkit.git;a=blob;f=README
So yepp, it would be great if folks would adopt this in their apps, so
that a user doesn't need to know about all those Unix intricacies such
as resource limits and so on, but still get good perfomance in his
media applications by default.
This is now in Fedora Rawhide which will still take a few months to be
released as F12. The other distros probably need a bit more time for
this. This means this is not a burning issue yet, so this is mostly
intended as a heads-up right now. Unless of course you are one of
those cool dudes who are living on the bleeding edge.
Packagers, you might want to steal this .spec file for you work:
http://cvs.fedoraproject.org/viewvc/devel/rtkit/rtkit.spec?revision=1.1&vie…
Questions?
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
Hi,
I've been working on a modular synth builder for a while and I've just
put the first release up on SourceForge:
http://sourceforge.net/project/showfiles.php?group_id=262459&package_id=322…
(It requires slv2, GooCanvas 0.14, and the ladspa-swh-plugins if you
want to build it.)
There are also some screenshots here (the second one shows the created
synth in use):
https://sourceforge.net/project/screenshots.php?group_id=262459
This is all pre-alpha stuff so don't expect it to work that well yet (or
even compile easily!). It can only create fairly basic synths at
present.
I could do with some help checking over the basic architecture and
prioritising future work, so join the mailing list on sourceforge if you
want to get involved.
Damon
> > Windows (i.e. "%ProgramFiles%\LADSPA Plugins\rdf"). ?Not that I
> > generally build with LRDF support on Windows anyway.
>
> This makes sense to me, if only it could be made "official"...
> (windows paths too)
Windows has official rules for this. Users are no longer allowed to add
random files to an application's directory in "/Program Files/Appname".
Permissions are set to prevent it and that directory is virtualized to
prevent it.
The exception is - Applications can install their own bundled plugins in
"/Program Files/Appname" at install time only (because the installer has
elevated privilege).
User installed plugins go in CSIDL_PROGRAM_FILES_COMMON , e.g. typically
"C:\Program Files\Common Files\LADSPA Plugins..."
Best Regards,
Jeff McClintock
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.04.6-1 comes with some major changes:
* Build environment and source code changes:
- use of the python based waf build system.
- use of the boost library for command line options.
- various code cleanups and source tree restructuring
All this has been done by our new project member James Warden.
* Audio effect and modeling:
- new tube model
- fuzz
Please read the README for more details regarding the new
build process and the command line 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 hermann & James
oops, yeah, wrong discussion thread :)
I'm a coder too but not at all in linux-audio, although I started designing a few applications (nothing around DSP or linux core system, kernel, etc, this is way beyond my understanding at the moment. FYI, the closest thing to kernel stuff I did lately was patching oss2jack and kfusd so that this rather obsolete tool could run against kernel 2.6.29).
But yes, I wanted to bring a user's point of view to the LAD discussion.
About the dual boot, I don't know if it's the best solution but it is certainly a compromise. And one that I would not do myself. I tend to build my own PCs from various components for specific tasks. I find this process cheaper and feel I have a better control over its functioning / etc.
About KDE, I am not particularly fond of it, it's just an old habit. I could never get used to gnome although it looks like a fine WM as well. I tried other stuff as well but in the end, I always come back to the shell :)
OK, I'll stop the OT blabla.
J.
--- On Wed, 6/24/09, Ralf Mardorf <ralf.mardorf(a)alice-dsl.net> wrote:
> From: Ralf Mardorf <ralf.mardorf(a)alice-dsl.net>
> Subject: Re: [LAD] palm pre [was Re: [ANNOUNCE] Safe real-time on thedesktop by default; Desktop/audio RT developers, read this!]
> To: "James Warden" <warjamy(a)yahoo.com>
> Cc: linux-audio-dev(a)lists.linuxaudio.org
> Date: Wednesday, June 24, 2009, 8:05 AM
> I dunno if you're a coder too, but
> those words you wrote are the words of a user :).
>
> By the way I'm a fan of extremes, I like KDE (only with
> KWin) ex 3.5.9 and Ion2, but actually I'm running GNOME and
> this also has is advantages and disadvantages.
>
> Do you agree that a dual or multi boot might be the best
> solution to fit to all needs?
>
> I would interpret your mail this way. You didn't blame any
> sound server, but you make out for which usage you are fine
> with which sound server. Am I wrong?
>
> The 'palm pre' thread is uncoupled from the origin thread,
> that's why I guess it's okay to speak about user needs here,
> nobody will disturb any technical expert knowledge
> discussion at the original thread.
>
> By the way, an rt-audio distro like 64 Studio often works
> OOB for rt-audio too, not for my hardware, but it is made to
> fit to many hardware combinations.
>
> Thank you for reporting your experiences.
>
> Cheers,
> Ralf
>
> James Warden wrote:
> > Just a small comment, and then I shut up:
> >
> > the great thing about linux is its flexibility. I have
> a few boxes at home doing different things:
> > - a multimedia server based on mythtv, NFS and samba
> > - a powerful DAW running an RT patched kernel
> > - a couple of laptops for AOB (any other business)
> >
> > For the AOB laptops, it was nice not to do anything
> once I installed the distro. Things worked OOB, and that was
> it.
> >
> > For the DAW or multimedia server, that was another
> story ... but simply because customized systems require,
> well, customization. The all-in-one distro is and I think
> will remain a utopia.
> > This said, I recently upgraded my DAW to KDE 4.2 (was
> 3.5.9 before upgrade) and that automatically installed
> pulseaudio. I had already fiddled around with pulseaudio
> about a year ago due to my using VirtualBox (another story).
> I found pulse's features kinda cool and I quickly understood
> it was not meant as a replacement or alternative to
> Jack.Â
> > As of today, my DAW has pulseaudio installed. But all
> I had to do was:
> > - open the KDE system settings - disable ALL sound
> stuff I could find
> >
> > So basically, KDE offered me the possibility to not
> interact at all with the sound layer. It was obviously not a
> default setting but it was just a few clicks away.
> >
> > So let me be straight: it should remain like that.
> > On average, a user installing e.g. KDE will expect
> desktop sounds to work (sound notifications, mp3 players,
> DVD playback, what-not). That's not what I want in my DAW at
> all but being myself an old linux "power user", I knew that
> it would do that (experience with artsd). I mean, how
> could the KDE installation possibly know that it was to be
> running on a DAW ?! :D I am glad the desktop config
> interface allowed me to configure it the way I wanted (no
> extra special services in the background, no sound system
> other than what I want for my DAW).Â
> > Now, if things were to change (no longer the
> possibility to configure e.g. KDE the way I want), I would
> definitely feel pissed-off and complain on some mailing
> lists. But let's be also clear: pulseaudio is definitely NOT
> the worst things that could happen. It works fine on my
> laptops, I don't need to do anything about it and that's
> what it was intended for: a generic and multifeatured
> desktop sound system. But desktops are also used in other
> contexts (e.g. DAW) and it would really be wise to keep
> desktop components _optional_ (not only sound system but
> also visual effects, etc). That's just simple wisdom and i
> suggest we keep it that way. The same applies to jack. It is
> a highly specialized tool and should remain so.
> >
> >
> > OK, time to disappear from this discussion.
> >
> > Cheers,
> > J.
> >
> >
> > --- On Wed, 6/24/09, Ralf Mardorf <ralf.mardorf(a)alice-dsl.net>
> wrote:
> >
> >Â Â Â
> >> From: Ralf Mardorf <ralf.mardorf(a)alice-dsl.net>
> >> Subject: Re: [LAD] palm pre [was Re: [ANNOUNCE]
> Safe real-time on thedesktop by default; Desktop/audio RT
> developers, read this!]
> >> To: "james morris" <james(a)jwm-art.net>
> >> Cc: linux-audio-dev(a)lists.linuxaudio.org
> >> Date: Wednesday, June 24, 2009, 6:45 AM
> >> james morris wrote:
> >>Â Â Â Â
> >>> On 24/6/2009, "Patrick Shirkey" <pshirkey(a)boosthardware.com>
> >>>Â Â Â Â Â
> >> wrote:
> >>Â Â Â Â
> >>>Â Â Â Â Â
> >>>> It would be helpful if things that could
> make a
> >>>>Â Â Â Â Â Â
> >> big impact will
> >>Â Â Â Â
> >>>> continued to be discussed within the LAD
> >>>>Â Â Â Â Â Â
> >> community. However this is a
> >>Â Â Â Â
> >>>> difficult situation. No matter if the
> discussions
> >>>>Â Â Â Â Â Â
> >> are starting prior to
> >>Â Â Â Â
> >>>> implementation or post implementation the
> general
> >>>>Â Â Â Â Â Â
> >> direction of the
> >>Â Â Â Â
> >>>> arguments tend to be quite emotional.
> >>>>
> >>>> Is it just because audio guys have a bit
> more
> >>>>Â Â Â Â Â Â
> >> artistic temperament than
> >>Â Â Â Â
> >>>> most other developers?
> >>>>Â Â Â Â Â Â
> Â
> >>> I don't think this adds much to what has been
> stated
> >>>Â Â Â Â Â
> >> by Fons and others,
> >>Â Â Â Â
> >>> but perhaps it explains a little?
> >>>
> >>> I'm not a hardcore audio developer like most
> of the
> >>>Â Â Â Â Â
> >> guys here, but I've
> >>Â Â Â Â
> >>> been making audio/music/noise, and coding,
> since the
> >>>Â Â Â Â Â
> >> days of 486sx25s
> >>Â Â Â Â
> >>> and windows 3.1. Back then, and for many years
> after,
> >>>Â Â Â Â Â
> >> it was a real
> >>Â Â Â Â
> >>> concern to be able to disable as many
> irrelevant (to
> >>>Â Â Â Â Â
> >> audio) processes in
> >>Â Â Â Â
> >>> the system as possible (as I'm sure you're
> aware).
> >>>
> >>> Now I have a pretty capable system, but when I
> want to
> >>>Â Â Â Â Â
> >> run RT audio apps
> >>Â Â Â Â
> >>> I still want to disable as many irrelevant
> processes
> >>>Â Â Â Â Â
> >> on the system as I
> >>Â Â Â Â
> >>> can.
> >>>
> >>> For this reason I really dislike the big
> monolithic
> >>>Â Â Â Â Â
> >> desktop environments.
> >>Â Â Â Â
> >>> There are several applications tied into them
> (some
> >>>Â Â Â Â Â
> >> serious, plain
> >>Â Â Â Â
> >>> useful, or just fun) which I'd love to have
> working
> >>>Â Â Â Â Â
> >> but which force me
> >>Â Â Â Â
> >>> to install all sorts of software I really
> don't want
> >>>Â Â Â Â Â
> >> or need - along
> >>Â Â Â Â
> >>> with all sorts of processes running in the
> >>>Â Â Â Â Â
> >> background.
> >>Â Â Â Â
> >>> So it feels a bit freedom eroding. The choice
> seems to
> >>>Â Â Â Â Â
> >> be between a
> >>Â Â Â Â
> >>> system which 'just works' but which wastes
> system
> >>>Â Â Â Â Â
> >> resources on things
> >>Â Â Â Â
> >>> I don't want, or a system which I have to
> spend hours
> >>>Â Â Â Â Â
> >> setting up,
> >>Â Â Â Â
> >>> constantly have to deal with the
> idiosyncrasies of,
> >>>Â Â Â Â Â
> >> but which is as fast
> >>Â Â Â Â
> >>> and powerful as it could be.
> >>>
> >>> The notions of old, to raise the potential for
> system
> >>>Â Â Â Â Â
> >> resources to be
> >>Â Â Â Â
> >>> only used for the job at hand (ie audio) are
> still
> >>>Â Â Â Â Â
> >> strongly rooted and
> >>Â Â Â Â
> >>> people don't like it when they feel their
> freedom to
> >>>Â Â Â Â Â
> >> use systems in
> >>Â Â Â Â
> >>> this way is threatened by forcing them to
> install
> >>>Â Â Â Â Â
> >> software and have
> >>Â Â Â Â
> >>> running processes they don't want.
> >>>
> >>> James.
> >>>Â Â Â Â Â
> >> I guess (if needed) separating rt and
> bread-and-butter
> >> Linux by having a dual-boot is an acceptable
> solution. A user with nearly no
> >> knowledge could install a comfortable distro for
> the everyday desktop
> >> environment and another for real-time usage. Even
> if somebody don't
> >> have any trouble with his Linux install, he might
> wish to have a safe Linux
> >> for productions and another Linux to have fun and
> fun sometimes
> >> means to risk things, you won't risk for a
> installation that needs
> >> to be stable all the time, that's why a dual-boot
> has also an advantage,
> >> if there will be a joint venture for distro/
> desktop developers and
> >> rt hardliners. I have a bad mobo and for rt e.g. I
> need to set
> >> irq priority for especially the one port where the
> MIDI is connected to.
> >> I don't think things like that should be done by
> the desktop
> >> environment. This seems to be impossible.
> >> _______________________________________________
> >> Linux-audio-dev mailing list
> >> Linux-audio-dev(a)lists.linuxaudio.org
> >> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
> >>
> >>Â Â Â Â
> >
> >
> >Â Â
> Â Â Â _______________________________________________
> > Linux-audio-dev mailing list
> > Linux-audio-dev(a)lists.linuxaudio.org
> > http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
> >
> >Â Â Â
>
> -- Secret of Tux: http://images.wallaceandgromit.com/user_uploads/forum_thumbnails/5/75/355.j…
> "Gromit bit me" says HMV dog: http://img.dailymail.co.uk/i/pix/2007/03_03/GomitHMVPA_468x319.jpg
>
>