Hi,
Are there any people on this list who would be able to help test a Linux
ALSA driver for the EMU1212m.
I am now in a position to write a driver that works for this sound card.
I currently have SPDIF output working, but other support will follow
soon after that.
I do not have an AudioDock or any ADAT equipment, so I would need
particular help with testing that.
Kind Regards
James
ROSEGARDEN 1.2.4 RELEASED
Miscellaneous locations -- Bastille day, 2006
The Rosegarden team are pleased to announce the release of version
1.2.4 of Rosegarden, an audio and MIDI sequencer and musical notation
editor for Linux.
http://www.rosegardenmusic.com/
The 1.2.4 release addresses several issues with the prior 1.2.3
feature release. 1.2.4 introduces no new application features.
Fixes in this release include, briefly:
* Avoid crash on startup if /dev/snd/seq does not exist
* Fix incorrect sequencer status report ("no driver")
* Fix MIDI Text Marker export
* Fix text encoding for Lilypond 2.6 (UTF8 instead of ISO-8859-1)
* Fix stuck notes in matrix after pressing a stop button
* Fix crash when erasing a duplicated key signature
* Fix crash when switching documents with a tempo editor window open
* Fix incorrect sorting and insertion logic in marker editor
* Fix hang in main canvas when a segment has zero duration
* Fix audio preview display for repeating audio segments
* Update percussion matrix when a different drum mapping is selected
* Avoid crash when deleting a device with percussion matrix open
* Fix matrix display for notes outside range of current key mapping
* Ensure correct segment is acted on when clicking overlapping segments
* Fix sequencer crash when playing back tiny audio files
* Avoid display hang when too many segments overlap
* Fix several build system bugs, and compilation with gcc-4.1.2
This release also includes several new MIDI device definition (.rgd)
files, as well as updates for Catalan, Russian, Swedish, Czech and
Italian translations, and a completely new Finnish translation from
Heikki Johannes Junes.
Special thanks go to Pedro Lopez-Cabanillas for preparing the release.
For more information about Rosegarden and what it can do for you,
please see
http://www.rosegardenmusic.com/
Rosegarden is Free Software under the GNU General Public License.
A thought occured to me recently...
If I am writing an application which needs to stream a large wav file,
I am having to write something which reserves some memory, and loads
pieces of the wav file from disk on request. Say I need to be able to
jump around the file a bit, I would have to detect when the piece is
not available and load it in as appropriate.
... which I realized is exactly what the OS VM paging system does.
So, has anyone tried using memory-mapped files for streaming audio
data? (obviously, I mean, in a non-realtime thread, using a buffer).
Or would this be totally inefficient?
I was thinking it could really simplify programming, just directly
accessing parts of the wav file as needed, and letting the OS load it
up into physical memory when it wants to.
Just curious.
Steve
Hi!
I am trying to notify a high priority (nice -20 or nice -19) thread from
a realtime thread (from a jack callback to be precise). Of course I want
the realtime thread to not block, but I want the high priority thread to
react as soon as possible. For the first implementation, I used a
condition, and pthread_cond_signal. But as I can't aquire a mutex within
the realtime thread, at least not always (at most with trylock()), this
results in racy code.
Also, it doesn't integrate well with poll(), which the high priority
process should be able to use. So basically I want to switch to a pipe
write() instead of pthread_cond_signal.
Now the question is: am I producing priority inversion, then? I've seen
that the kernel code of pipe write has code like
mutex_lock(PIPE_MUTEX(*inode));
(in fs/pipe.c, linux-2.6.16.16), so can this mutex cause priority
inversion?
However, on the other hand, I examined the code of
glibc-2.3.6/ntpl/sysdeps/pthread, and found in pthread_cond_signal.c:
__pthread_cond_signal (cond)
pthread_cond_t *cond;
{
/* Make sure we are alone. */
lll_mutex_lock (cond->__data.__lock);
/* Are there any waiters to be woken? */
if (cond->__data.__total_seq > cond->__data.__wakeup_seq)
{
/* Yes. Mark one of them as woken. */
++cond->__data.__wakeup_seq;
++cond->__data.__futex;
/* Wake one. */
lll_futex_wake (&cond->__data.__futex, 1);
}
/* We are done. */
lll_mutex_unlock (cond->__data.__lock);
return 0;
}
So it looks like there is some kind of low level mutex locking involved
even when signalling a condition. Can't this also lead to priority
inversion?
So what is the best way to achieve that some lower priority thread will
definitely wakeup from a realtime priority thread, without causing
priority inversion, under recent linux kernels?
Cu... Stefan
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
Hello,
I am looking for a cross-platform implementation of an atomic
integer.
Under Linux, a build an c++ class "atomic" around asm/atomic.h,
(which I can use as if it where an int), but I'd like to have a
solution that also works on Windows XP and Mac OS X.
Thanks for any suggestions,
Maarten
> > In any case, Linux Sampler and Kontakt are
> > different sorts of samplers at this point. Linux Sampler is more in the spirit
> > of Gigasampler, and Kontakt is more like an emulation of a hardware sampler (but
> > vastly more flexible).
>
> The key words there are "at this point." As noted, the *long-term*
> potential of Linux Sampler is probably still much greater than Kontakt-in-wine.
Agreed. Maybe time is best spent improving linux sampler. Then again, good VST
has benefits, although I do see how it may hurt the long term goals of free
software. I'm just not sure if the best way to help free software is to limit
it's ability to integrate with proprietary software.
> >
> > Noted. However, I remain unconvinced that Linux Sampler is intended to be a
> > drop-in replacement for something like Kontakt.
>
> I don't think it's intended to be a drop-in replacement for Kontakt; I
> think it's just intended to be cool.
I can appreciate that.
-Forest
http://ccrma.stanford.edu/~kjetil/src/
jack_capture
*************************************************************************
jack_capture is a small program to capture whatever sound is going out to
your speakers into a file without having to patch jack connections, fiddle
around with fileformats, or set options on the argument line.
This is the program I always wanted to have for jack, but no
one made. So here it is.
Changes 0.2.4 -> 0.3.1:
-----------------------
*Reduced CPU usage a lot because of better disk handling. (25% -> 1%)
*Make sure the rest of the recorded file is not garbage in case of an
overrun.
*Added the port argument, which can be specified many times and accepts
both input and output port names (including regexp expressions). This
makes jack_capture to completely replace jackrec.
*Rewrote buffer handling. Silence is now inserted when underruns occure.
Previously, the file became shorter than the recording in case of
underrun. It can still happen though, but much more seldom, and a
warning about that will be printed to the terminal.
*Last rests of jackrec code has been rewritten. Well, all the code with
substance, at least.
*Nicified code a lot.
*More efficient way of handling overruns.
*Fixed really stupid compilation error. Thanks to Dragan Noveski for
spotting it.
das_watchdog
*************************************************************************
Whenever a program locks up the machine, das_watchdog will temporarily
sets all realtime process to non-realtime for 8 seconds. You will get an
xmessage window up on the screen whenever that happens.
Changes 0.2.2->0.2.3
--------------------
*Fixed commandline arguments for increasetime, checktime and waittime.
*Nicified source a bit
Mammut
*************************************************************************
Mammut will FFT your sound in one single gigantic analysis (no windows).
These spectral data, where the development in time is incorporated in
mysterious ways, may then be transformed by different algorithms prior to
resynthesis. An interesting aspect of Mammut is its completely
non-intuitive sound transformation approach.
Changes 0.21->0.22
------------------
*Added patch and instructions from Owen Green on how to make mammut
compile on OSX. Thanks! (Sorry, I forgot to release this version for
almost a year...)
A bit late, but maybe still of interest.
A number of pictures from LAC2006 may be downloaded from
<URL: www.q2s.ntnu.no/~asbjs/pictures_lac2006_asbjorn-sabo.tar >.
(The file is around 9MB.)
* netjack workshop
* Linux sound night
* various
With thanks for and interesting conference and nice company there!
Asbjørn Sæbø
james(a)dis-dot-dat.net wrote:
>Howdy peeps.
>
>Not really much of a release, so not much fanfare, but in the
>interests of sharing effort I give you...
>
>Powernap!
>
>http://dis-dot-dat.net/?item=code/powernap/
>
>If, like me, you need to drive an app from a Python interface,
>powernap can help. It's a small extension that switches to the
>real-time scheduler and provides two handy sleep-like functions:
>
>nap() naps for a given number of milliseconds, timed with the RTC
>
>rnap() is a "rolling nap" that tries to make the time between calls
>the given number of milliseconds. A padding nap, if you will.
>
>It works for me and it might come in handy for someone else.
Nice, this will definitely come in handy for me.
Have you done any benchmarking on what kind of timing precision you can
get?
-DR-
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Oi,
I am currently writing on a modular synth with great emphasis on
sequencing (but allowing tight interaction between both parts)
in a comparable modular way (pattern creation/algortihmic
composition/chord filters etc),
I wrote some parts of the core of the application but I am not really
keen on coding something that has been done several times before;
that's why I thought about
joining/"forking" a more complete modular synthesizing environment and
adding the core components I need/have. The point is, that I don't
know enough about
the existant modular synthesizers to evaluate how modular their
sourcecode is written so that my modifications are easily applicable
in their source.
Here are some parts/functionalities that I already have (partially)
implemented and would like to add to the core:
- - the main graph of interconnected modules supports heterogene module
types for example it could support FAUST code-pieces represented in
modules as well as ladspa-modules,
the subgraph created by interconnected modules of the same type is the
sent to the type-specific "compiler" creating executable signal paths
- - the executable graph of interconnected modules is analyzed and split
up in parts that can be executed in parallel, locks in the necessary
parts are added and the whole graph can be
executed in several threads
- - modules are mainly connected using a zoomable patch-matrix; the
zoomlevel corresponds to the level of typing (of connections)
As I mainly write QT-Applications I'd prefer a project that can be
either easily extended to use QT or which already uses it. I think it
is better to work on an existing project, since
I am currently busy with releasing an album and university-shiznit and
I can not imagine doing everything in a prolific way in parallel.
Thanks in advance for any input!
So long...
Niklas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFEq/F++k24EnBNzsMRAlNrAJ97l5nZeqM8B86w4FDrh34joLvZEQCeOxpn
1VD/QOT47Nfd2X6kEItBFRw=
=jz9s
-----END PGP SIGNATURE-----