Hi
Could anyone explain how I should go about killing a potensially
unresponsive thread? Of course there's pthread_cancel, but I don't wish to
wait for the other thread to reach a cancel point. Basically I'm trying to
implement a watchdog for a realtime audio thread. Any suggestions are
welcome, thanks.
Arve Knudsen
hi all,
sorry for cross-posting ...
i'm planning to go to the lad conference at the zkm in karlsruhe and
kindly want to ask if someone coming from the south east passes
stuttgart on the way there and is able to share a ride ...
i'd appreciate any offer and i'm willing to contribute to the fuel
expences ... if you are interested, please contact me off list...
thanks a lot...
Tim mailto:TimBlechmann@gmx.de
ICQ: 96771783
--
The only people for me are the mad ones, the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn,
burn, like fabulous yellow roman candles exploding like spiders across
the stars and in the middle you see the blue centerlight pop and
everybody goes "Awww!"
Jack Kerouac
[Simon Burton]
>I stopped coding when I could play/process arrays of sound from
>within the portaudio callback. Yes, PA calls back into python,
>acquires the Big Bad Lock, and all that.
ah, thanks for drawing the curtains. may i suggest a solution?
(background: i'm working on a similar project, which revolves
around C++ for RT audio, but also allows 'soft-RT' python audio.)
i've decided not to mess with either python locking or its memory
allocator. instead, an asynchronous scheme is employed: C++ RT audio
callbacks write to a lock-free FIFO and signal there is sample data to
process (this is done by writing a trigger to a UNIX pipe on which the
python audio thread sleeps). a second FIFO holds the results of python
audio processing. the callback code doesn't wait for the python DSP
code to complete, instead it fetches processed data from the second
FIFO right away and returns to Jack/PA/the LADSPA host/your native
audio code. all this is possible without acquiring any locks.
of course, this introduces latency in the signal path (at least one
cycle worth). otoh, the scheme runs free of dropouts, especially if
latency is allowed to span multiple audio cycles, and is compatible
across python versions.
>Thanks Tim, I asked around on the PA list also, but you have
>given me some more directions to persue. Also I gather that
>SuperCollider is another place to look for RT audio implementation.
SuperCollider sure is a nice design. unfortunately it's not using
python. :)
yet, making python RT-friendly really is too daunting a task for a
feeble mind like mine.
cheers,
tim
2.1.35 is out. It contains a great number of bugfixes, and a small
feature addition:
Setting `raggedlast = ##t' in the `\paper' block causes the last
line to be set flush-left instead of justified.
This release should be considered as the first LilyPond 2.2 release
candidate! Please test this release to check if your scores come out
OK.
I would like to request proofreaders to take a look at the chapter
"Changing defaults." Parts of this chapter have been rewritten
recently, and haven't been scrutinized closely yet.
2004-03-28 Han-Wen Nienhuys <hanwen(a)xs4all.nl>
* VERSION: 2.1.35 released
* scripts/convert-ly.py (FatalConversionError.sub_abs): convert
context argument too.
* make/ly-rules.make ($(outdir)/%.texi): use variable for outdir.
* input/mutopia/W.A.Mozart/mozart-hrn-3.ly: Mozart died in 1791
* python/lilylib.py (command_name): don't return 1st path
component.
* scripts/lilypond-book.py (Lilypond_snippet.is_outdated): treat
.png case separately.
* python/lilylib.py (system): typo.
2004-03-28 Jan Nieuwenhuizen <janneke(a)gnu.org>
* Documentation/user/preface.itely: Run texinfo-all-menus-update.
Fixes compile.
* lily/function-documentation.cc: Compile fix: Include <string.h>.
Add header.
2004-03-27 Heikki Junes <hjunes(a)cc.hut.fi>
* vim/lilypond-indent.vim: small fixes.
2004-03-26 Mats Bengtsson <mabe(a)drongo.s3.kth.se>
* Documentation/user/notation.itely (Entering lyrics): Add example
with correct english double quotes (at least for LaTeX output,
maybe not a good idea if we switch to PS as the default output
format).
2004-03-26 Han-Wen Nienhuys <hanwen(a)xs4all.nl>
* lily/staff-performer.cc (create_audio_elements): play instrument
changes before notes arrive. This fixes instrument of the first
note in a score.
* scripts/convert-ly.py (FatalConversionError.conv): add #'() case
to 1.9.0 conversion.
* lily/mark-engraver.cc: doc string.
* make/lilypond.redhat.spec.in (Group): add vim scriptlets.
* Documentation/user/introduction.itely (Introduction): new node.
2004-03-25 Han-Wen Nienhuys <hanwen(a)xs4all.nl>
* lily/duration.cc (LY_DEFINE): dotcount argument is now optional.
* input/regression/spacing-ragged-last.ly: new file.
* lily/gourlay-breaking.cc (do_solve): add raggedlast support for
spacing.
* scm/font.scm: rewrite using GOOPS.
* lily/context-def.cc (filter_engravers): derefence pointer.
* lily/lily-guile.cc (type_check_assignment): use
ly_scheme_function iso. scm_primitive_eval where possible.
* lily/performance.cc (output): limit channels at 15. This fixes
percussion inadvertently showing up in large scores.
2004-03-24 Han-Wen Nienhuys <hanwen(a)xs4all.nl>
* input/regression/tuplet-gap.ly: new file.
* lily/tuplet-bracket.cc (make_bracket): take gap interval.
(print): compute gap length from number size, include italic
correction.
* scm/define-grobs.scm (all-grob-descriptions): remove gap from
tuplet-bracket
* scm/paper.scm (set-default-paper-size): new function, to be
called at toplevel.
(set-paper-size): new function, to be called inside \paper {}
(set-default-paper-size): new function, to be called at toplevel.
* lily/paper-def.cc (LY_DEFINE): ly:paper-def?: new function.
* lily/beam-performer.cc (process_music): idem.
* lily/slur-performer.cc (process_music): stop melisma for stop event.
* tex/titledefs.tex: remove scshape for piece.
* lily/line-spanner.cc (line_stencil): font-encoding = music, not
font-family
* lily/time-signature.cc (special_time_signature): font-encoding
not family.
* lily/dynamic-engraver.cc (acknowledge_grob): fix typo, attach
dynamic to head. This fixes p placement in morgenlied.
2004-03-23 Werner Lemberg <wl(a)gnu.org>
* stepmake/stepmake/generic-targets.make (help): Improve text.
--
Jan Nieuwenhuizen <janneke(a)gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org
Hi,
I update the 46.diff, which is used to patch cmpci.c to support kernel 2.6.
The synchronize_irq() has one parameter in kernel 2.6 and none in kernel 2.4, however, it still compile well on a i386 kernel 2.6, I discover it on an IA64 system.
Sincerely,
ChenLi Tien
-----Original Message-----
From: C.L. Tien - 田承禮
Sent: 2004/3/22 [星期一] 下午 12:24
To: linux-kernel(a)vger.kernel.org; linux-audio-dev(a)music.columbia.edu
Cc: 收信群組-網頁 Support 信箱
Subject: ANN: cmpci 6.64 released
Hi,
I made many changes for cmpci.c since last release. Changes are made as follows:
1. Fix the S/PDIF out programming bug appeared in 6.16.
2. Support 8338 4-channel playback.
3. S/PDIF loop can be used after AC3 playback.
4. Legacy devices (FM, MPU401 and gameport) are served by other modules.
Now the code is thinner.
5. Remove parameters setting from kernel configure menu, they can be
set easily when loading the module.
6. Add spdif_out to output 44.1K/48K 16-bit stereo to S/PDIF out.
7. Add hw_copy to duplicate audio of front speakers to surround speakers.
8. Change code to minimum patch for kernel 2.6.
The attached cmpci.c in cmpci-6.64.tar.bz2 is the updated driver, and 46.diff is the patch file that needed for kernel 2.6.
The cmpci-patch-2.4.25.tar.bz2 and cmpci-patch-2.6.4.tar.bz2 are patches for kernel 2.4.25/2.6.4 tree patch, they are needed to support legacy devices, otherwise you may ignore them.
The cmi8738.tar.bz2 contains CMI8738, which is modified from CMI8338. It describe the parameters cmi8738 can support.
Please feedback if you have any question, I will post to kernel maintaner if no serious problem with it.
Sincerely,
ChenLi Tien
liblo is a easy to use OSC (Open Sound Control) implementation written in C.
http://plugin.org.uk/liblo/
See the website for docs and example code.
Changes since last release:
bugfixes
OSC URL handling
better IPV6 support
real documentation
better example code
support for all the types listed in the specification
automatic port number selection for servers
lo_target type has been deprecated, use lo_address now
some buffer overrun checks in lo_send()
This version is not binary compatible with the previous release.
- Steve
-----Original Message-----
From: Jeff Garzik [mailto:jgarzik@pobox.com]
Sent: 2004/3/22 [星期一] 下午 12:53
To: C.L. Tien - 田承禮
Cc: linux-kernel(a)vger.kernel.org; linux-audio-dev(a)music.columbia.edu; 收信群組-網頁 Support 信箱; Andrew Morton; Marcelo Tosatti
Subject: Re: ANN: cmpci 6.64 released
C.L. Tien - 田承禮 wrote:
> Hi,
>
> I made many changes for cmpci.c since last release. Changes are made as follows:
>
> 1. Fix the S/PDIF out programming bug appeared in 6.16.
> 2. Support 8338 4-channel playback.
> 3. S/PDIF loop can be used after AC3 playback.
> 4. Legacy devices (FM, MPU401 and gameport) are served by other modules.
> Now the code is thinner.
> 5. Remove parameters setting from kernel configure menu, they can be
> set easily when loading the module.
> 6. Add spdif_out to output 44.1K/48K 16-bit stereo to S/PDIF out.
> 7. Add hw_copy to duplicate audio of front speakers to surround speakers.
> 8. Change code to minimum patch for kernel 2.6.
The driver looks pretty good, for both 2.4 and 2.6. And the listed
changes above sound OK. I see the driver is smaller now.
May I respectfully request that you submit your driver update in the
form of multiple patches, one patch per email? This is the normal
method of submitting changes to the Linux kernel. For example, create
and send 8 patches to Andrew Morton for inclusion in the 2.6.x kernel.
Each patch is applied after the last one, in succeeding order. Typical
email subjects would look like
[PATCH 1/8] cmpci: fix s/pdif out
[PATCH 2/8] cmpci: support 8338 4-channel
[PATCH 3/8] cmpci: s/pdif loop
etc.
Splitting up changes in this manner allows for better verification, and
makes it easier to narrow down bugs to a specific change. Large "one
big patch" updates often solve many bugs, and then add a few new bugs.
Best regards and thanks,
Jeff
The driver I sent is for general user that they can replace existed driver with the file.
Now I attach the diff files since 6.16 and please verify them, please note that the 6.16 driver appear in kernel 2.4.25 tree doesn't match the 6.16 in my CVS tree. Please use kernel-2.4.25-cltien.diff before use other patches between versions.
Please refer to logs for changes between versions. Most changes are for HW function and I already change the code to meet kernel 2.4 requirements. Please revise them and let me know the changes.
The cmpci in kernel 2.6.x is still 5.64, which maintain kernel 2.2.x compatiblibility. I hope kernel 2.4.x and 2.6.x use the same version and only use the 46.diff to change for 2.4->2.6.
Sincerely,
ChenLi Tien
The Rosegarden team are pleased to announce the release of
Rosegarden-4 0.9.7, an audio and MIDI sequencer and score editor
for Linux.
http://www.rosegardenmusic.com/
The main focus of this release is to introduce a new, more accurate
and efficient audio layer with a mixer window, basic internal routing
capabilities, more complete plugin support, and support for the JACK
transport API.
This release also includes a number of other new features such as a
dedicated tempo and time signature editor window, segment summary
window, pitch-bend ruler, more useful controller rulers and various
new editing operations and keyboard shortcuts in the graphical editors.
Features of Rosegarden include:
o Score, piano-roll, event list and track overview editors
o MIDI and audio playback and recording with ALSA and JACK
o Audio plugin support using LADSPA
o Score interpretation of performance MIDI data
o MIDI file I/O, Csound, Lilypond and MusicXML export
o Clear and consistent KDE-based user interface
o Shareable device (.rgd) files to ease MIDI portability
o Translations into Russian, Spanish, German, French, Welsh,
Italian, Swedish and Estonian, as well as UK and US English.
Chris
----- Forwarded message from Simon Burton <simon(a)arrowtheory.com> -----
Date: Thu, 25 Mar 2004 07:18:59 +1100
From: Simon Burton <simon(a)arrowtheory.com>
Subject: [Portaudio] ANN: dsptools-0.4.0
To: portaudio(a)techweb.rfa.org
X-Mailer: Sylpheed version 0.9.3 (GTK+ 1.2.10; i686-pc-linux-gnu)
First public release. Comments sought.
dsptools
========
Here be Python wrappers for portaudio, ladspa and libsndfile.
There are three modules: ladspa, sndfile, and portaudio.
They are independant of each other, ie. they should compile/run individualy.
Data interchange is type sensitive and uses numarray arrays to store sound data.
It's possible to segfault by doing stupid things, eg. from within the portaudio callback only some portaudio calls are allowed.
See the python scripts for example usage, *.pyx files for implementation, and *.pxi for underlying c library info.
http://sourceforge.net/projects/dsptools/
It's under tested, under documented, but it's pretty cool.
Install
-------
Use any of the setup scripts:
$ python setup*.py build
$ python setup*.py install
Dependancies
------------
python 2.2.3 or better:
http://www.python.org/
numarray 0.8.1 (or better):
http://sourceforge.net/projects/numpy/
For portaudio module:
portaudio v18.1 (not v19):
http://www.portaudio.com/
For sndfile module:
libsndfile 1.0.5 or better:
http://www.mega-nerd.com/libsndfile/
For ladspa module:
ladspa.h v1.1 :
http://www.ladspa.org/ladspa_sdk/
and any plugins (optional):
http://www.ladspa.org/
Todo
----
* Enable the writing of ladspa plugins in python (!)
* portaudio v19
Related Projects
----------------
fastaudio, for portaudio & libsndfile :
http://www.freenet.org.nz/python/pyPortAudio/
libsndfile-python :
http://arcsin.org/archive/20030520025359.shtml
Thanks to
---------
Ross Bencina (portaudio)
Erik de Castro Lopo (libsndfile)
Greg Ewing and all the pyrex people
------------------------------------------------------------
Simon Burton
March 23, 2004
--
Simon Burton, B.Sc.
Licensed PO Box 8066
ANU Canberra 2601
Australia
Ph. 61 02 6249 6940
http://arrowtheory.com
_______________________________________________
Portaudio mailing list
Portaudio(a)techweb.rfa.org
http://techweb.rfa.org/mailman/listinfo/portaudio
----- End forwarded message -----
the pvoc package is at 0.1.7, with piped I/O in the stretch utility
rewritten for buffered operation, for a factor 2-3+ performance gain.
(sic, stupid me called write() and read() for every sample. ah, don't
you just love proof-of-concept code :)
if you use the the stretch utility with piped I/O you really should
upgrade.
tim