Re: [linux-audio-dev] [SOURCE] rt monitor to kill runaway RT processes

2002-08-30 Thread Ingo Oeser

On Thu, Aug 29, 2002 at 09:12:07PM +0200, Stefan Westerfeld wrote:
 I am very interested in that. In all the discussions we had
 about the RT issue in aRts, things usually came to the point:
 basically, it is a kernel bug, that as soon as you use RT prio,
 your system becomes unstable. Especially if you combine that
 with dynamically loaded modules, which even might be third
 party, both approaches to work around the problem break.
 
This is no kernel BUG, this is POSIX. People actually rely on POSIX in
this regard and the kernel has to follow.

If you work around Unix protection mechanisms by loading unknown
code into the virtual memory image of your privileged application
YOU are opening a security hole and cannot expect the kernel to
protect you or your user. 

For the kernel you and the malicous code you just loaded as you
module is EXACTLY THE SAME unless you give it a seperate process.

So please stop pointing out kernel bugs, where the kernel is
behaving as required by POSIX and people who use the POSIX
features.

Regards

Ingo Oeser
-- 
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth



[linux-audio-dev] a jack question

2002-08-30 Thread Likai Liu

given kernel capability patch applied, does jackd give real-time 
capability to existing running process (normal user) that decide to 
become a jack client?

liulk




Re: [linux-audio-dev] a jack question

2002-08-30 Thread Fernando Pablo Lopez-Lezcano

 given kernel capability patch applied, does jackd give real-time
 capability to existing running process (normal user) that decide to
 become a jack client?

yes, it gives the needed capabilities to the audio thread that
gets created for each new client (not the whole application,
of course). You have to use jackstart (suid root) to start
jackd instead of starting jackd directly.

-- Fernando



[linux-audio-dev] Notation program.

2002-08-30 Thread Charles Read


Hi folks,

is there a music notation program for linux that really does the job well - 
you play your MIDI keyboard and a reasonable approximation to a score appears on
your screen? I've tried rosegarden but the editing facilities are a bit 
primitive and it doesn't really print out. not WYSIWYG anyway.  
If not I might have a hack at writing one..


Charles.





Prof. Charles J. Read, Dept. of Maths, University of Leeds, Leeds LS2 9JT, UK.
work phone 0113 233-5179 email [EMAIL PROTECTED] webpage 
http://maths.leeds.ac.uk/~read
  



Re: [linux-audio-dev] Notation program.

2002-08-30 Thread jjbenham

Last time I did a score in CMN.  If I were to do what you want to do I
would try Rosegarden or Muse to create a raw midi file.  Then I would export
that then import it into lilypond.  I would then edit it by hand.  I
actually like this idea better than working with Finale.  Finale was always
screwing things up.  Then I could never remember what all those stupid
buttons do.  

Jeremiah

On Fri, Aug 30, 2002 at 07:41:21PM +0100, Charles Read wrote:
 
   Hi folks,
 
 is there a music notation program for linux that really does the job well - 
 you play your MIDI keyboard and a reasonable approximation to a score appears on
 your screen? I've tried rosegarden but the editing facilities are a bit 
 primitive and it doesn't really print out. not WYSIWYG anyway.  
   If not I might have a hack at writing one..
 
 
   Charles.
 
 
 
 
 
 Prof. Charles J. Read, Dept. of Maths, University of Leeds, Leeds LS2 9JT, UK.
 work phone 0113 233-5179 email [EMAIL PROTECTED] webpage 
 http://maths.leeds.ac.uk/~read
   



Re: [linux-audio-dev] Notation program.

2002-08-30 Thread Richard Bown

On Friday 30 August 2002 19:41, Charles Read wrote:
 Hi folks,

 is there a music notation program for linux that really does the
 job well - you play your MIDI keyboard and a reasonable approximation
 to a score appears on your screen? I've tried rosegarden but the
 editing facilities are a bit primitive and it doesn't really print
 out. not WYSIWYG anyway. If not I might have a hack at writing
 one..

Well why not just offer to help us (Rosegarden) out instead of starting 
yourself from scratch?  There are many many music projects that have 
been started with few enough ever coming to fruition without 
potentially wasting more effort. We're still in development and open to 
ideas and we'd be most interested to hear your specific comments.

You're using Rosegarden-4 I take it?  Have you played about with 
quantizing of your recorded MIDI a little and see how that affects the 
score on the screen?  Do you really think the notation layout is 
unattractive?  It's true that our printing facilities are a bit limited 
at the moment but again if you want it sooner then please pitch in.  

There's a reason it's open-source you know?

R
[cc'ing rg-devel]



Re: [Rosegarden-devel] Re: [linux-audio-dev] Notation program.

2002-08-30 Thread cannam

Richard Bown [EMAIL PROTECTED] writes:
 
 It's true that our printing facilities are a bit limited 
 at the moment

I would say that if you want really good printing, you should
probably accept a non-WYSIWYG approach and use Lilypond as your
printing engine at least, even if you use an interactive editor
such as Rosegarden-4 or Denemo to get the data into Lilypond
format in the first place.

We would like to do much better native printing from RG-4 than
we do at the moment (not hard -- native printing is completely
useless at the moment), but it'll never be as good as Lilypond.

As for editing capabilities, it would always be useful to know
what you're wanting to do and how the program could do a better
job of helping you.  How else will we improve it?

And Rosegarden is not your only option: you should take a look
at NoteEdit and Denemo as well, if sequencing is not of any
interest to you.  I think these are enough projects to make it
far more worth your time contributing to one of them than
starting your own, but obviously it's up to you.  Notation is
not particularly easy to do though.


Chris




Re: [linux-audio-dev] Notation program.

2002-08-30 Thread Brian Redfern

One thing lacking on any platform is notation software with user
adjustable pitch tables that supports midi tuning standard. I have a lot
of experience working with altered tunings and pitch tables studying
balinese gamelan, my C/C++ skills still suck right now, but I sent my
girlfriend away for the weekend just so I can work my way through the
rest of oreilly's practical c.
On Fri, 2002-08-30 at 15:06, Richard Bown wrote:
 On Friday 30 August 2002 19:41, Charles Read wrote:
  Hi folks,
 
  is there a music notation program for linux that really does the
  job well - you play your MIDI keyboard and a reasonable approximation
  to a score appears on your screen? I've tried rosegarden but the
  editing facilities are a bit primitive and it doesn't really print
  out. not WYSIWYG anyway. If not I might have a hack at writing
  one..
 
 Well why not just offer to help us (Rosegarden) out instead of starting 
 yourself from scratch?  There are many many music projects that have 
 been started with few enough ever coming to fruition without 
 potentially wasting more effort. We're still in development and open to 
 ideas and we'd be most interested to hear your specific comments.
 
 You're using Rosegarden-4 I take it?  Have you played about with 
 quantizing of your recorded MIDI a little and see how that affects the 
 score on the screen?  Do you really think the notation layout is 
 unattractive?  It's true that our printing facilities are a bit limited 
 at the moment but again if you want it sooner then please pitch in.  
 
 There's a reason it's open-source you know?
 
 R
 [cc'ing rg-devel]
-- 
http://www.brianredfern.com
;-)



RE: [linux-audio-dev] Notation program.

2002-08-30 Thread Ivica Bukvic

To me it seems like you do not have to have an application aware of
pitches (unless you feel uncomfortable using conventional notation for
custom-assigned pitches -- i.e. c is c, c# is a bit flat, d is more like
c# etc. so you'd need 2 conventional octaves for one 24-pitch microtonal
octave). Many contemporary composers do this -- alter existing notation
so that it can serve their purpose. Assuming from your e-mail is that
you may be comfortable with modern notation, so I'd suggest simply using
external midi module where you'd edit the sound patches to have this
kind of detuning, or even better a sampler of some sorts. Then, you'd
simply pass a conventional midi file to hear gamelan-like tunings that
are produced by the external midi module (or any other tunings for that
matter).

That being said, I do agree with you that this would be a neat feature
within a sequencer without continuously employing fixed pitch-bend wheel
values.

Ivica Ico Bukvic, composer, multimedia sculptor, 
programmer, webmaster  computer consultant 
http://meowing.ccm.uc.edu/~ico/ 
[EMAIL PROTECTED] 

To be is to do   - Socrates
To do is to be   - Sartre
Do be do be do   - Sinatra
I am - God

 One thing lacking on any platform is notation software with user
 adjustable pitch tables that supports midi tuning standard. I have a
lot
 of experience working with altered tunings and pitch tables studying
 balinese gamelan, my C/C++ skills still suck right now, but I sent my
 girlfriend away for the weekend just so I can work my way through the
 rest of oreilly's practical c.





[linux-audio-dev] Proposal of LADSPA port hint DATA_PRESENT

2002-08-30 Thread robbins jacob

I suggested this a while ago and the more i thought about it the more i 
thought it was a good idea, hopefully others can set me straight:)

/* Hint LADSPA_HINT_DATA_PRESENT indicates that the data item should be used 
to signal that the audio stream has stopped. It must be used in conjunction 
with LADSPA_HINT_TOGGLED. The host signals the plugin that the audio input 
stream has stopped. The plugin subsequently signals the host that the audio 
output stream has stopped. The first step requires an input port while the 
second requires an output port. The plugin should only look for changes in 
the input port state while the host may use the value of the output port 
state. A plugin should expect to be deactivated immediately after signalling 
the host that output has stopped. */


Motivation: there are 3 cases where this hint is useful, 2 of which I think 
fit the LADSPA criterion of falling into the intersection of all audio 
applications. First, discontinuing polyphonous voices. Under LADSPA, 
polyphony is implemented by allocating 1 instance of a plugin per 
note/voice. When the voice is stopped there is a decay period of time which 
is more inherent to the plugin then it is the host. To allow a host to 
deallocate a voice safely and efficiently, the DATA_PRESENT mechanism has 
the host signal the plugin that the activitity is over and the pluging 
subsequently signals the host that it has concluded its audio activity. At 
this point the host can deallocate the plugin instance without risking 
losing any worthwile information.
#1 In Intersection? Hosts use a variety of methods to manage multi-voice 
activity. While the host can keep track of all the input passed to a plugin, 
it is more properly the domain of a plugin to know when it is finished with 
a job. The privileged position of the plugin with regard to knowing state 
information at wrapup carries across host/plugin arrangements. Even if the 
plugin has no decay, that is still a piece of information that it knows 
which the host does not.

#2 Finite Impulse Response Filters. many plugins used as effects on an audio 
signal will generate output for some finite period after input has stopped. 
Examples include echoes and reverbs. once again the plugin has knowledge 
about when it has completed producing output whereas the host can only 
conjecture or defer the decision to the user.

Third, non-realtime effects which change file length. This does not warrant 
being put in LADSPA but is a freebie fro mthe adoption of DATA_PRESENT. 
plugins which are applied to entire soundfiles can result in an output 
soundfile of a different length. as an example; a granular filter which 
changes tempo without effecting pitch. the host could conveniently know the 
range of the output file. the plugin could defer producing output until it 
has run enough data to fill some internal needs.

Compatibility:
If both the host  plugin are either aware or unaware of the DATA_PRESENT 
mechanism their is no compatibility issue. If the host is aware but the 
plugin doesn't use it there's no compatibility issue, the host will see 
there is no DATA_PRESENT port and run the plugin longer. If the plugin has 
the feature but the host does not there is a consideration: the host will 
not know how to set the data input port signalling data present. Therefore 
the plugin must only pay attention to changes in the state of the 
DATA_PRESENT input port and not the actual state. Practically this should 
not present a problem because most hosts expose all plugin parameters to the 
user who can toggle the control on and leave it there.  The plugin can defer 
the beggining of ouput until later than it first recieves input and tell the 
host it is doing so with the mechanism. It could do the same without the 
mecchanism so this causes no compatibility issues as long as the plugin 
fills the pre-output buffers with zeroes.

Also the plugin must not abuse the mechanism to break up its output into 
discontinuous patches, This would cause large compatibility problems. The 
output image must be continuous in time. This is ensured by the statement 
plugin should expect deactivation on sending the false signal.

Generally, if you think of LADSPA plugins as two dimensional fxns from a 
domain limited in height to -1 to 1 and with width being time, then they map 
to some output range with the same vertical limitation but the only time 
limitation being that the start of output = the start of input. The 
DATA_PRESENT mechanism allows the host to discover the limitations of the 
output time range, which are different for each continuous run of the plugin 
. My argument is that the range of the output in time is useful information 
to the host in every audio application and that it is something the plugin 
has to communicate to the host because the host can not be expected to 
determine it on its own.


please reply.

--jacob robbins---

Re: [linux-audio-dev] Question regarding network coding

2002-08-30 Thread rm

On Fri, Aug 30, 2002 at 11:49:32PM -0400, Ivica Bukvic wrote:
 Hi all,
 
 I am already aware of some networking stuff, but am not sure as to how
 to make client aware that the server has finished sending the struct
 (since some values, like strings can be of different lengths, I can not
 simply just specify a fixed size of the information to be received).

you should probably tell the client how much to expect. if you are
using tcp you have to do your own framing since it's a streaming
protocol.  (in constrast, udp is a datagram based protocol).

msg: | preamble | length | type ||

etc.  you can use the preamble to give the receiver a reasonable shot 
at resynching to the stream if something goes wrong.

 Furthermore, the only time I worked with network stuff was with
 streaming soundfiles, it seems that the process would be stuck in a loop
 until the transfer was complete. So my question is how do I make this
 networking process instantiate itself, but then let it run as a
 side-routine? Do I need to create a separate thread (or thread(s) in the
 case there are more clients) in order to have these networking processes
 running?

the basic outline for a  tcp server is 

ssock = socket...
bind(ssock,...)
listen(ssock, ...)
while (1) { 
clientsock = accept(ssock)
fork...
}

where fork is either a fork proper, or pthread_create, pass the 
thread the clientsock and you should be ready to go.


here's some code and explanations:
http://world.std.com/~jimf/papers/sockets/sockets.html

you can also get the software from comer's tcp/ip books
http://www.cs.purdue.edu/homes/dec/netbooks.html


this is from memory ... someone correct me if i'm wrong.

rob

Robert Melby
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt4255a
Internet: [EMAIL PROTECTED]