Re: [LAD] Optimized device driver to Fast Track Pro (start developing)

2012-11-22 Thread Emanuel Rumpf
2012/11/22  rodr...@angoera.com.br:

 I would like to develop an very optimized device driver for the USB
 soundcard, I am going to use the IC TUSB3200

Some resources -
http://www.alsa-project.org/main/index.php/Developer_Zone
http://kernel.org/doc/htmldocs/writing-an-alsa-driver.html
http://kernelnewbies.org/Drivers
http://www.freesoftwaremagazine.com/articles/drivers_linux
http://www.linuxjournal.com/article/7353
http://www.linuxjournal.com/article/4786

--
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] concurrent access on smp

2012-10-21 Thread Emanuel Rumpf
Hi

With some threads running on different CPU,
accessing a shared pointer (in RAM) atomically (with gcc atomic methods)

my current understanding is:
- each cpu has its own cache line
- which is updated on every atomic read/write operation

1. is that applicable ?

2. is there a faster or more convenient method, such as
storing the pointer in fast register shared among different cpu ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Kontakt sampler format (and others like EXS24)

2012-09-01 Thread Emanuel Rumpf
2012/8/31 Harry van Haaren harryhaa...@gmail.com:

 The community could approach NI and ask if they're
 intrested in supporting a
 Linux version of Kontact?


1. they won't
2. if they do, kontakt still won't be open source
3. if linuxsampler would support the kontakt format, the format would
change (this already happend in kontakt 4.1)

conclusion:
1. don't use the kontakt sampler (or other proprietary sw)
2. don't buy kontakt samples
3. support free, libre sample libraries
4. create free, libre sample libraries

this appears as the most effective stategie and long time solution


links:
http://sso.mattiaswestlund.net/
http://freepats.zenvoid.org/


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Kontakt sampler format (and others like EXS24)

2012-09-01 Thread Emanuel Rumpf
2012/8/31 John Rigg la...@jrigg.co.uk:
 Thanks for taking the initiative on this.

 The lack of high quality samples usable on a Linux system has been quite a 
 problem.


What, more closely, is a high quality sample (today) ?

Is it very different, from what it was ten years ago ?
If yes, why did it fit  formerly, but not today ?
Have our ears eventually improved  within that time-period ?



-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] New SVN version of LV2:AVW - Crashes Ingen

2012-05-15 Thread Emanuel Rumpf
2012/5/15 Aurélien Leblond blabl...@gmail.com:
 Hi everyone,

 I have been trying to use GDB to debug this issue.
 Problem is, as the program crashing is Ingen, I get the information as to
 where it crashes in Ingen, not where the problem lies in my plugin.

 Would anybody have any ideas as to how to tacke this issue?


If the plugin runs in a different process,
it may be necessary to attach that process to gdb.
Don't forget to compile with debug enabled.


(gdb) help attach
Attach to a process or file outside of GDB.
This command attaches to another target, of the same type as your last
target command (info files will show your target stack).
The command may take as argument a process id or a device file.
For a process id, you must have permission to send the process a signal,
and it must have the same effective uid as the debugger.
When using attach with a process id, the debugger finds the
program running in the process, looking first in the current working
directory, or (if not found there) using the source file search path
(see the directory command).  You can also use the file command
to specify the program, and to load its symbol table.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] changes in gcc

2012-04-29 Thread Emanuel Rumpf
Now ... isn't this a bit frustrating, if scripts stop to work after
only 5 years ??

I tried to compile ladspa-sdk, which failed.
As I found out, it is due to (nowadays) invalid argument order:

failed:
$(CC) $(CFLAGS)  $(LIBRARIES)   -o ../bin/listplugins   listplugins.o

works:
$(CC) $(CFLAGS) -o ../bin/listplugins   listplugins.o $(LIBRARIES)

gcc 4.6.3
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Possible gpl validation

2012-04-29 Thread Emanuel Rumpf
2012/4/29 hermann brumm...@web.de:

 This is the second time this guy distribute sticks wich binary s and he
 claim that he didn't need to provide the source. That is, what he
 understand under the GPL.


As I understood the GPL, he/she doesn't have to offer the source code
to non-customers.
( GPL can be used commercially. )

But in the FAQ they say :

If you commercially distribute binaries not accompanied with source
code, the GPL says you must _ provide a written offer _ to distribute
the source code later. When users non-commercially redistribute the
binaries they received from you, they must pass along a copy of this
written offer.

This means that people who did not get the binaries directly from you
can still receive copies of the source code, along with the written
offer.


http://www.gnu.org/licenses/gpl-faq.html

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jackmixdesk undefined references

2012-04-19 Thread Emanuel Rumpf
Am 19. April 2012 14:41 schrieb Ulrich-Lorenz Schlüter audio-mobs...@gmx.de:

 /home/uli/workspace/jackmixdesk/trunk/mixdesk_gtk.c:2859: undefined
 reference to `phat_fan_slider_set_value'


install libphat-dev package (if ubuntu)

post output of

ls /usr/lib/libph*
ls /usr/lib/x86_64-linux-gnu/libph*

cat /etc/ld.so.conf
cat /etc/ld.so.conf.d/*

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] How to get NSM?

2012-04-11 Thread Emanuel Rumpf
Am 11. April 2012 12:08 schrieb rosea.grammostola rosea.grammost...@gmail.com:
 git clone git://git.tuxfamily.org/gitroot/non/daw.git


 Apart from the master branch, there is also a next branch with new stuff and
 a nsm-proxy branch for the new proxy app.

proxy app  - what's that ?

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-04 Thread Emanuel Rumpf
Am 4. April 2012 08:11 schrieb Louigi Verona louigi.ver...@gmail.com:

 Am I missing something here?

Yes,
search the archives.
or visit
http://wiki.linuxaudio.org/wiki/user/emrum/jack_session_2_draft
to see,
what NSM tries to improve, by imposing some meaningful rules.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-04 Thread Emanuel Rumpf
Am 4. April 2012 11:18 schrieb rosea.grammostola rosea.grammost...@gmail.com:

 How much more effort will it be in terms of coding, to implement 'level-1'
 versus 'level-0'?


For anyone who prefers to work with apps-do-whatever-they-want appraoch
or we-have-zero-to-X-support-levels-so-you-dont-know-what-to-expect ,
there are alternatives: JackSession, Lash, Ladish.

I would prefere at least *one* SM to have a clean and handy solution
and hope that is NSM.

I have to dig deeper into the NSM-API myself,
but currently it's not obvious to me,
why disabling a few menu-items and using
symlinks in the session-dir. is recognized as
impregnable obstacle.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-03 Thread Emanuel Rumpf
Am 2. April 2012 20:05 schrieb Emanuel Rumpf xb...@web.de:

 NSM has some nice rules already, to make things behave smooth.
 Now add a few sensible rules, to make sure that
 audio-file management works equally well.

 These are really very simple points, I say.


Proposing a few simple non-intrusive rules:

- clients MUST create symlinks for all external files used - in the
   directory nsm/ sessions/ mysession/ myapp/ external-file-links/

 - clients are ADVISED to store large-files in /nsm/ large-files/
   (and create symlinks for them as in previous point)

- all NSM-clients treat all files, as if they were inside their
session-directory
   (means: they access all external files over the symlinks)

- if a file must be external, apps create a symlink in
   their external-file-links/ folder and access the file through that link


Without obtruding much on the application, nor on the SM
 (clients just create the symlinks and use them),
this would - for the first version :

 - offer accaptable integrity.

 - ensure all files are either referenced-from or contained-in the session dir

 - ensure, if a file or link in the session-dir is modified or replaced,
   the new version is used by the nsm-client


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-03 Thread Emanuel Rumpf

  - offer accaptable integrity.


All further, extended functionality (export, import, copy, ...)
could then become part of a script or of version 2.0 of NSM.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-03 Thread Emanuel Rumpf
Am 3. April 2012 09:21 schrieb Nils l...@nilsgey.de:

 why don't you write your own Session Manager (Protocol)?
 You seem to be very knowledgable.


I did not write a whole sequencer app yet, that's why I don't call
that utopian  ;)
But Riu did.

- I'm not able to do it better than NSM
- we do not need 20 SMs, just one, that does it
- NSM is here already, and is usable and is great

There are many reasons to NOT write a SM, such
as endless discussions on LAD about f..ng details 

I'm glad, some very brave devs nevertheless did.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-02 Thread Emanuel Rumpf
Am 2. April 2012 19:17 schrieb J. Liles malnour...@gmail.com:

 Anyway,
 from my perspective, correcting the problem is as simple as adding a
 rule to the NSM API that states:

 * When connected to a session, the client *MUST* store all new media
 (recorded audio, etc.) related to the open project in the project path
 provided by the `open` message.


I thought - that's what we would not want: store large files in the
session dir !?
because duplicating a session should stay a light and fast process.

That is, why I had been proposing an nsm-large-files directory
(outside of the session-folder), for those,
but actually, it doesn't matter, _where_ NSM-clients store their large-files,
as long as they create symlinks for them in the session folder.

(maybe the sub-directory for symlinks should be defined as part of the
API. proposition: external-file-links).


-- -- -- --
Remember my definitions:

What is a large-file ?
 - every (larger) file, that is not required to immediately be
   copied if, a session is cloned.
 - every file, where a reference is enough in the first place

What is NO-large-file ?
 - data that is required to access large-files (references, symlinks)
 - that is lightweight (~ below 1MB) (some config-values)
 - has to be read by the SM to initialize the client
-- -- -- --


 I can't imagine why Rui or anyone else would have a problem with this,
 as it is exactly equivalent to the user saying

 Please store my
 precious data somewhere predictable that I have predefined instead of
 in whatever random place the application developer thought would be
 good.

My exact intention.


Regards, Emanuel
-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-02 Thread Emanuel Rumpf
Am 2. April 2012 20:39 schrieb Paul Giblock pgib...@gmail.com:
 Do all target filesystems support symbolic links?


yeah ? what would happen to the links, if one copied the session
folder to his/her fat32 usb-stick ?
simply don't !! ?

or de-reference...

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-02 Thread Emanuel Rumpf
Am 2. April 2012 21:22 schrieb J. Liles malnour...@gmail.com:

 Personally, I'm fine with having large files in my session
 directories. In fact, that's exactly where I want them.

 Why would one
 want to duplicate a session with a lot of pre-recorded audio?
Maybe with recorded audio, you wouldn't
- although maybe you would (see below).

If you work with samples, OTHO, why would you
want the (same!) samples to be stored in the sessions folder
and even in duplications ?
To waste some space ?


 And,
 anyway, this could be made to work by just storing that common audio
 wherever you want and making 'external' references to it in the
 session

That was our conclusion for using symlinks.
The clients would be advised, to create them
in ../nsm-session/external-file-links/

 (and hopefully the application involved uses the symlink
 technique we've discussed for referring to external files)--all
 without the SM having to know anything about it.

right


 ..., except that I think it
 should be the user deciding where things are stored rather than
 individual applications.

Most applications allow that anyway, and if not - it would not hurt much
to change this.

 Remember, you can always write a simple shell script

We can always create shell scripts for anything,
but aren't we talking about some kind of management !?

NSM has some nice rules already, to make things behave smooth.
Now add a few sensible rules, to make sure that
audio-file management works equally well.

These are really very simple points, I say.


example:
- clients MUST create symlinks for all external files used - in the
directory ../session/external-file-links/
- clients are ADVISED to store large-files in /nsm/large-files/ (and
create symlinks for them as in previous point)


 I think this is very much a corner case anyway.

I think no, but very much depends on personal work-flow.

I use to do different Versions of _the same_ project,
with some minor or major differences.
So my workflow would be:
- create a session
- if happy with a state, duplicate
- continue work with the duplicate.

since many/most files stay the same, there is no reason
to copy the files over different session directories.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-04-02 Thread Emanuel Rumpf
A new thought:

Lets say we did store the session as tar.gz,
and we de-referenced the symlinks.
Means: We have all files related to the session th the tar.gz.
So far, so good.


Now we re-import the session to NSM:
We extract that tar.gz in the NSM sessions-folder.
Note: instead of symlinks we have now real files in the symlinks
directory (because we de-referenced before creating the tar.gz).

Real files should not go to the symlinks directory.
But we could have a simple script, to move these files
to the nsm-large-files/ folder and re-create the symlinks.

Now we should have a state very similar to where we began.
(exception: we did not restore the file-paths we've had originally,
but symlinked to the nsm-large-files folder instead)

I think this is acceptable
- the session stayed valid at least.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-03-30 Thread Emanuel Rumpf
Am 30. März 2012 03:29 schrieb J. Liles malnour...@gmail.com:


 If all Linux Audio software dealt with external references in this
 way, archiving/export would be much less problematic.


Finding a solution for externals, was the whole point of this discussion.

After all the many arguments, I'm now feeling too,
that symlinks are the right thing for NSM.

Thank you everyone, for participating.


 Furthermore, in addition to the plain old symlinks, a truly robust
 solution might also store e.g. SHA1 hashes of external files, so that
 any mismatch is detectable.

Interesting point.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-29 Thread Emanuel Rumpf
Am 29. März 2012 10:24 schrieb rosea.grammostola 

 How easy or how difficult is it compared to JackSession for example, to add
 NSM support to an application?


NSM is not more difficult.

Look at the yoshimi patch:
Include a class, add some handlers, set some options, that's it.
You have to know about OSC, but that's not hard.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-29 Thread Emanuel Rumpf
Am 28. März 2012 20:53 schrieb David Robillard d...@drobilla.net:

 It's sooo complicated because it forces everything involved to use a
 special file finding and/or loading interface.

wrong - apps only tell the SM about files used externally - that's all.

 It also requires that central store to remain consistent, which is
 roughly infinity times harder than... well, not.

no matter where you store the files - you would want
the session to stay consistent

Forget the _central_ store.
I'm nowhere forcing that.

 Any program that deletes files based on some fantasy of omniscience ...
Where did you get that ?
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] NSM - handling large files

2012-03-29 Thread Emanuel Rumpf
The discussion started, with the question about large files.

Keep it simple - store either files or links in the session folder ?
Why not ?

Some more opinions please.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] NSM - handling large files

2012-03-29 Thread Emanuel Rumpf
Am 29. März 2012 15:34 schrieb Emanuel Rumpf xb...@web.de:


Back to life - back to reality

1. We start qtractor as part of a session, create some midi-tracks,
include some external wav-files.

Should the SM know about these external files, as I suggested ?
(Allowing the user to find out basic info about it. )
Or leave it completely to qtractor ?

2. We record a new file in qtractor. Where would it be stored ?

Should the SM know about this file ?

3. A session is duplicated.
How does the SM handle the recorded and external files =

4. A session is exported.
Jonathan said, current practice is a simple directory copy.
Well ! Simple and not bad at all.
But what about the external files ?
Just make some symlinks for them ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-29 Thread Emanuel Rumpf
Am 29. März 2012 13:16 schrieb thijs van severen 

 IMHO making such a matrix is the only good way to
 make a decisions of any kind


I disagree here: Session managers have different concepts.
A simple matrix doesn't do it (show it).

IMHO user _experience_ is most important.
1. is it stable and reliable
2. does it do the job
3. behaves it practically (work-flow, feeling, user-interface)

Thus it is best to simply try - a thing that is difficult, as long
as an application is incomplete.

Fortunately NSM and the other SMs have advanced enough to try.
As I did mention, I have a good feeling with NSM
and I'm trusting this thing to become complete.

Thanks for your opinion.
I tend to agree with you and Renato:
rather not make it too complicated,
but usable and reliable.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-28 Thread Emanuel Rumpf
Am 28. März 2012 05:42 schrieb David Robillard d...@drobilla.net:
 On Tue, 2012-03-27 at 14:24 +0200, Emanuel Rumpf wrote:
 I am having a hard time imagining anything *less* likely to be adopted
 than trying to cram a *database* down everyone's throats to save some
 files! ;)

With database here, actually, I'm refering to a more or less simple text format.
for example, recently I stumbled about:  GNU recutils
(readable, but it is slow)



 No session manager that forces everyone to use some database would ever
 fly.  This is obvious.

It doesn't force the clients to use a db. The SM would have a text-db and
simply communicated with the clients, to find out their files-in-use.


 - having symlinks leaves the user with the question how to reliably
 copy a directory, without messing up everything (dereference yes/no,
 follow links yes/no ...), something that is critical to deside

 That is inherent to any solution with links to external resources.
 Links to external resources are a requirement.  If you want to move a
 session, use a smart tool that can fix the links, or archive it.


The point here is to make it as simple and as little fault-prone to the user
as possible:

A user should be able - with a single button-click (or cml)  - to make
a directory with all files belonging to a session, optionally either
keeping references or creating copies of them (of Lfiles).

Did you ever re-assign 200 symlinks ?
Compare that with a simple search-and-replace in a textfile, with an
editor of your choice.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-28 Thread Emanuel Rumpf
Am 28. März 2012 05:46 schrieb David Robillard d...@drobilla.net:
 On Wed, 2012-03-28 at 03:27 +0200, Emanuel Rumpf wrote:
 A second scenario

 The simple one (simple for the SM, not for the apps):

 - applications decide themself how to handle large-files
 - but still tell the SM about all files currently used, when the
 session is saved



 Files are files.  Size does not have any impact on how any of this has
 to work (aside from the fact that files could possibly be very large
 meaning redundant copies are not acceptable).  Trying to define a small
 file and large file category just makes everything more complicated
 for no particular reason.



 Why?  What exactly is large?
 Just because a file is large doesn't
 mean I don't want it in a session.  It is a requirement to be able to
 roll up a self-contained archive of a session *if* you want to.


The reason is simple and important:
Duplicating a session should be lightweight.
Lfiles _belong_ to _one or many different_ sessions, but they would
not be stored within the session folder.
Instead, a cloned session would contain references to _the same_ Lfiles,
as its original !
This means, no Lfiles are copied, just referenced, thus its a quick procedure.
This is no problem, if applications are non-destructive: If the clone
had to change
a file, it would create a copy in the Lfiles directory and use this
new reference.

For destructive apps, this woulde not work obviously and the SM would
have to duplicate their files in the Lfiles directory too.

What is a large-file ? (for a non-destructive app)
  Every file, that is not required to immediately become copied if a
session has to be cloned.
  Every file, where a reference is enough in the first place.

What is NO-large-file ?
  Data that is required to access large-files (references), or that is
lightweight (~below 1MB)
  (some config-values), or has to be read by the SM to initialize the client.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-28 Thread Emanuel Rumpf
Am 28. März 2012 05:46 schrieb David Robillard d...@drobilla.net:
 On Wed, 2012-03-28 at 03:27 +0200, Emanuel Rumpf wrote:
 This allowed the SM to:

 - tell the user if a certain file is part of any session registered at the SM

 Why would the user care?


(Lets assume I haven't use a certain machine for half a year...)
For many reasons:

- deleting - I would like to know, if I'm allowed to delete a certain file, thus
it's important to know if it is still used by any session

- destruction - I'm planning to use a destructive application an a file
and would like to know, if this file is used by any session, where
this modification would cause trouble

- duplication and release - one may intend to export all files (maybe
of a certain type) for a certain session and send them to a friend.

- freeing disk space - I would like to remove all files not used (anymore) by
any session (or by a _certain_ session). how else would I know ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] JACK session API in Perl, Python, Ruby, and Lua

2012-03-28 Thread Emanuel Rumpf
Am 28. März 2012 19:35 schrieb Ed Sweeney e...@onextent.com:


 Hi folks.  I'm the author, new to the list, new to audio, been on vacation
 but back now and hoping to learn and contribute.  Programming / playing with
 jack has been fun!

 Emanuel, thx for the suggestion.  The job of that mutex is to block the
 callback until the user code has run, _trylock wouldn't do that.


Thanks for asking back.

Note:
JacksEventQueue_put()
uses malloc() and also a blocking mutex.

This has to be modified to be lock-free (non-blocking).
But rather use a different, existing, verified data-structure.

jack_ringbuffer is a possible option, for IO to/from the callback.

more here:
[[ 
http://wiki.linuxaudio.org/wiki/programming_libraries#lockfree_non-blocking_data_structures_-_libraries
}}

But don't get lost. The topic is large... ;)

Your code looks very clean.
I like that you are using C.

Emanuel
-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-27 Thread Emanuel Rumpf
Am 27. März 2012 03:23 schrieb David Robillard d...@drobilla.net:


 ...  What you end up with is a few directories
 with specific roles.
 ...
 ...
 Figuring this all out was a long process of trial and error, but now
 that I write it down it seems clear it can't be simplified without
 failing to meet a requirement.  I am all ears for arguments to the
 contrary, though.


Thanks for pointing out, David.

1.
I don't totally agree with using symlinks:
- I tend to think, that file-systems are not as efficient as databases
- I feel that symlinks pollute the file-system
- What if any of the symlink to symlink is deleted - do applications
still know, where the file is which they had been pointing too ?
- Some apps would want to store additional info relating to the file
(meta-data, tags, related info, ...), thus requiring a simple database
anyway.
- having symlinks leaves the user with the question how to reliably
copy a directory, without messing up everything (dereference yes/no,
follow links yes/no ...), something that is critical to deside

2.
I don't totally agree with a file- vs. copy-directory:
I mean: is there really a semantic difference between a created, a
modified file and a copy ??
I think no. After modification, creation, duplication, etc.,   soon
you won't be able to say, weather a file is a any of the above. I
mean: For one app it can be a file (original), while for another it
can be a copy / reference / whatever.

For an app, there may be a semantic difference for

A: existing files a user added, which are ORIGINALS (thus refs),
never-modified ones

B: files the app created or modified, thus copied - files that are
NEWONES (thus real and refs)
note: a modified or created file can become an ORIGINAL for a
different application !
that's what I meant above, in 2.

C: files that are HISTORY, the user may want to delete these anytime,
to store space
- a history-file can become an original - what now ?


My conclusion:
- -
1. large files should never go to the session directory

2. Lfiles shared between apps have to be managed by a (super-)
instance that knows what's going on - the session-manager - otherwise
it's completely undefined/unclear what happens

3. Lfiles newly created (recorded / modified ) - for ALL sessions - go
to a common NSM-Lfiles directory

4. The session manager knows, of EVERY reference to files inside the
NSM-Lfiles dir.,
distinguishing between
 - CURRENT_REFS (files currently used by any instance)
-  HISTORY_REFS (file not currently used by any instance)  (this is
equal ALL_FILES minus CURRENT_REFS)
- EXTERNAL_REFS (files referenced by any instance, but not contained
in the NSM-Lfiles dir. and NOT created/recorded/modified by any
instance )

5. this means, the user is disallowed to manually reference/link to
any of the files contained in the NSM-Lfiles dir (because the SM
wouldn't know about it)

6. The SM knows all files-in-use and is able to move unused
history-files to a dustbin (no app is allowed to use/reference files
within the dustbin). The dustbin can manually be deleted by the user
anytime.

7. The SM allows Lfiles (CURRENT_REF + EXTERNAL_REFS) for a certain
session or app to be copied to a user-defined directory
(export-function)

8. The SM allows HISTORY_FILES to be moved to a dustbin folder.  (not
including CURRENT_REFS or EXTERNALS)

IF I did not forget / oversee anything critical, this looks like a well managed
and reliable approach to me. Any opinions ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-27 Thread Emanuel Rumpf
Am 27. März 2012 21:41 schrieb Fons Adriaensen f...@linuxaudio.org:
...
 Nor would I want the the shared data to be duplicated

In my scenario, this would match EXTERNAL_REF

It would only be copied to Lfiles directory, if modified.
Obviously there are cases, where this is not desirable
and destructive editing is preferable.
The app could offer this as an option, as you are pointing out below.


 - not only
 because it's a wast of disk space, but also because it may be
 reviewed and modified as well (e.g. correcting bad edits) and
 such changes should be picked up by all sessions using the data.


 My POV about 'external' data (that is data not saved as part of
 a session) is that if the user (or an app on behalf of the user)
 declares that some data is external to the session then the SM
 should just accept this as a fact an go on doing its thing. It
 is then of course the user's responsability to take care of such
 data if a session is transferred or archived.



 I would expect a SM to have a tool to 'ls' a session (providing
 a list of required apps etc.), and ideally such a tool should be
 able to mention any dependencies on external data.

Another useful tool:  ' list-session-deps  Lfile/audio.wav '
that would list all sessions and applications with current-references
to that file.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-27 Thread Emanuel Rumpf
A second scenario

The simple one (simple for the SM, not for the apps):

- applications decide themself how to handle large-files
- but still tell the SM about all files currently used, when the
session is saved


This allowed the SM to:

- tell the user if a certain file is part of any session registered at the SM
- export all files used by a session - optionally, either as symlinks,
or as copy to a specified directory
- verify and warn, if a referenced file is missing (although, maybe
this should be left to the app then too)

Would this suffice ?

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-26 Thread Emanuel Rumpf
Am 26. März 2012 17:15 schrieb rosea.grammostola

 yoshimi (NSM patch available).


Where to find the NSM patch for yoshimi ?

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-26 Thread Emanuel Rumpf
I've been able now to launch the NON session-manager.
- by writing an own simple build-script.
( is my system borked ? or just cmake ?)

I have to say, I'm counting me as a fan of J. Liles Software.
Somehow I agree with his style,
I would described as unbloated, but still pragmatic and effective.

- - -
In my opinion NSM is the best approach to session management
so far and I'm encouraging every audio-app dev. to jump on this train !
It is non-intrusive, has the required functionality.
- - -



There some minor things, I'd like to see:

- sessions should have an option to optionally restore window-position
and -size of client apps too  (would this work for workspaces as well,
possibly xinerama ?)

- tools as nsmd, jackpatch, osc_send should show a help message,
when started from command line.

- the session-manager should have an additional help button, showing a
window describing the possible actions (how to duplicate a session,
work with templates) - just like non-seq has a window for key-strokes.

- in the session-man. there should be a hint where the data is stored.
I'd like to always know where it is.



Questions remaining:

- where would audio apps store large (audio) files ? a custom path ?

- appart from large files (audio), all configuration should go to the
instances session folder - right ?

- where is the integrated chat client ? ;)


Possible Bugs

- although jackpatch is loaded, some connections (jack-midi) are not
restored here,
switching from one to another session (while the jack-audio-connection
is being done)

- switching from one session with yoshimi to one without it closes yoshi
  however:
  switching from a session with two non-seq instances to a session
with only one non-seq instance
  doesn't close the second instance


Once  this is bug-free,
this session-manager is a real enrichment to the audio community !
There's almost a fun-factor using it. I'm going to spend my time
switching sessions soon. :)
Thanks to Jonathan.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-26 Thread Emanuel Rumpf
Am 26. März 2012 22:17 schrieb Diego Simak diego.si...@gmail.com:

 is there any document where to read more about NSM other than
 http://non.tuxfamily.org/nsm/ ?

There is
http://non.tuxfamily.org/nsm/API.html

In the source package, there is some documentation too !
Finally there is always the source code :)

 Thanks for your help.
 Diego

Thanks for interest.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Linux Malware

2012-03-22 Thread Emanuel Rumpf
Am 22. März 2012 16:17 schrieb Louigi Verona louigi.ver...@gmail.com:

 what are the reasons there are (almost) no
 viruses on Linux?


I don't write them for Linux, because I don't want to infect my own system  :))


OK that was a joke. I don't write viruses and would have to guess an answer  :)


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Non Session Management

2012-03-22 Thread Emanuel Rumpf
Am 22. März 2012 11:55 schrieb rosea.grammostola rosea.grammost...@gmail.com:

 I wonder what the LAD community thinks about Non Session Manager


I would like to try it,  but I can't build   the DAW and  NSM .
It doesn't link and causes lots of undefined reference messages.

Is the build script is broken ?

My FLTK  installation seems ok.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Tutorial for programming with JACK

2012-03-08 Thread Emanuel Rumpf
Am 8. März 2012 01:08 schrieb  kallipy...@inbox.lv:

 It is possible with (curses-ansi escapes) TUI vary sine parameters -
 Frequency and amplitude.

Possible with restrictions:
You cannot call blocking functions in jacks process() function.
Thus non-blocking inter-thread communication may be necessary.


 Is it possible this program __as_is__ rewrite for jack output ?


Jack Audio uses a _callback_ based api.
What you have there is not.

You could re-use the above code with simple adjustments
by adding an additional bridging library.
(Eventually causing loss of realtime capabilities.)

Look at :

bio2jack  --  http://bio2jack.sourceforge.net/

jackasyn  --  
http://packages.debian.org/search?suite=defaultsection=allarch=anysearchon=sourcenameskeywords=jackasyn
(I couldn't find its original home)


 Anyway - What is best (thread?, IPC?) program, structure, realtime-safe,
 for such simple jack-TUI program ?

Look at jack example code, for how to make a real jack app.


 Normal 16 bit sound samples must be in range

Jackd uses 32 bit float.
Everything below -1.0 and above +1.0 is likely to become cut anywhere.
Re-sampling 16-bit to float is possible with additional libraries.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-05 Thread Emanuel Rumpf
Am 5. März 2012 12:24 schrieb Fons Adriaensen f...@linuxaudio.org:
 On Sun, Mar 04, 2012 at 12:55:39AM +0100, Albert Graef wrote:

 Well, what you see as a problem, I see as a virtue. It gives me the
 flexibility to just pick my own set of messages for the application at
 hand. The sequencer shouldn't have to care about the particular set of
 OSC addresses I'm using.

 Agreed 100%.


Agreed 40%

Having a standard scheeme for _standard procedures
doesn't kill your freedom to still pick custom addresses / add
your own extensions to OSC,
but simplifies things A LOT for those 90% of users who do standard things,
as playing back notes and controlling typical values (e.g. velocity,
volume, resonance...)

Thus you wouldn't lose any virtue, but those 90% woud gain some.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-04 Thread Emanuel Rumpf
Am 4. März 2012 14:38 schrieb Paul Davis p...@linuxaudiosystems.com:
 ... the
 problem for users is that it leaves the mappings unspecified, and
 although there are some clever solutions for this (several of them),
 from a user's perspective it always adds an extra layer of complexity.
 contrast with MIDI, where almost all the messages that most people
 will generate have a defined meaning even from the sender's
 perspective (though sure, the receiver can still map it to something
 else if it wants to).

Exactly.

Once upon the time, GM was helpful.
If you made your sequencer play a BassDrum, on one synth,
it would play a BassDrum on a different GM machine too,
without any configuration.

Today MIDI + GM appear too limited.
We need 3 drum-kits, 10 snares, 52 channels, 64 bit
 spoiled musicians ;)

With current OSC, one would have to configure the headstrong soup of both
sender and receiver.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] preset saving in sessions

2012-03-04 Thread Emanuel Rumpf
Am 4. März 2012 22:47 schrieb David Robillard d...@drobilla.net:
 On Sun, 2012-03-04 at 16:17 -0500, Paul Davis wrote:
 On Sun, Mar 4, 2012 at 3:37 PM, J. Liles malnour...@gmail.com wrote:


 consider the SFZ file format. it refers to other audio samples. it
 doesn't require that the references use absolute paths, but they can.


 so now create a plugin that allows the user to alter what samples are
 used for various note numbers or velocity values or whatever (i.e. a
 reasonably capable sampler) and ask it to save its current state. it
 gives you an SFZ file to stash away in a location of the host's own
 choosing. but what do the contents refer to?

 Yeah, this problem sucks.  The only solution is for the plugin to map
 the paths inside that SFZ file.



 It is (inherently) necessary for the plugin to map *ALL* paths in its
 state for this to work.  If they happen to be in some pre-existing file,
 well, that's probably going to be pretty annoying, but you have to map
 them all the same.


For simplification, one could assume all samples had a common parent directory ?

Then the user could simply re-locate that common parent directory,
if the samples were not found ?

example:
/home /user /store /samples /shapewavs /sine.ogg

moved to:
/home /user /newplace /samples /shapewavs /sine.ogg

common parent directory: samples/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Qtractor 0.5.4 - Echo Victor shouts out!

2012-03-03 Thread Emanuel Rumpf
Am 3. März 2012 23:29 schrieb Paul Davis p...@linuxaudiosystems.com:

 OSC

 this general language is the whole problem.

 you can't send OSC to an OSC capable plugin or an external OSC
 application in any generalized sense, because there is no shared
 format for the messages.

 the sequence of messages that you record may make sense to Pure Data,
 but make absolutely no sense to, say, CSound.

 the motivation to develop the infrastructure for recording, playback,
 disk storage and editing of such messages is not very strong when any
 given sequence can only target one particular OSC receiver. the
 motivation isn't zero, to be clear. but it just isn't that strong.

 I don't know if it's of practical use for anyone else, but time and again I
 would have had good use for this apparently simple feature. If anyone knows
 a sequencer or DAW which can do what I sketched out above, please do tell
 me. OSC has been around since 1997, for crying out loud. It's about time
 that sequencers do more with it than just automatizing the transport
 controls. ;-)

 then its about time that people using OSC start defining some
 standardized messages. MIDI did this from the start, and for all of
 its limitations, its been a wild success. the OSC community has
 self-consciously avoided doing this - lets queue up another pointless
 argument about how to represent notes/frequencies/intervals - and as a
 result is still only a niche protocol with every transmitter and
 receiver defining their own messages. double fail ...



I totally agree.
Actually OSC missed the point of MIDI.
(Or there was no intention to acctually become a replacement !? )

There should at least be an accepted, standardized
way for transmission of MIDI data over OSC !

I've started a draft:
http://wiki.linuxaudio.org/wiki/user/emrum/midi-osc-map


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] memory allocation for the real time thread, opinions wanted

2012-02-27 Thread Emanuel Rumpf
Hi

It's good to work with pointers, as Nick pointed out.

If that is not possilbe for any reason,
an options is to use a (pre-allocated) memory pool.

You might want to examine this library : TLSF
http://www.gii.upv.es/tlsf/

 I could allocate in the non-realtime thread and then pass memory
over in queues. 
That could be feasable.


-
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev



Re: [LAD] timing the processing of queues between engine and ui threads?

2011-11-07 Thread Emanuel Rumpf
2011/11/6 Paul Davis p...@linuxaudiosystems.com:
 On Sun, Nov 6, 2011 at 2:20 AM, Emanuel Rumpf xb...@web.de wrote:
 2011/11/5 Iain Duncan iainduncanli...@gmail.com:
 On Thu, Nov 3, 2011 at 8:05 PM, David Robillard d...@drobilla.net wrote:


 The only difference non-jack would make is you need some function to
 tell you roughly what audio time it is you can call from another thread.

 Does one use the system clock for that?
 I think frame time (a frame of samples) is meant here  ? That time is
 delivered in the jackd process callback.

 Is it accurate enough?
 Depends on the system clock used, I presume.
 For best accuracy, you have to configure your kernel to support HPET
 (high precision event) timers
 and make ALSA use it as default.

 the clock used for the system clock is less important than using a DLL
 to link the audio clock and the system clock. this enables you to
 answer the question if its time T on clock1, what time is it on
 clock2?

 fons wrote the canonical paper on this for a Linux Audio conference a
 few years ago, and JACK contains a DLL for this purpose
 (jack_get_microseconds() will return a prediction of the current time
 according to the audio clock, based on the system clock and the DLL.


Thanks for the hint, Paul, and to Fons of course.
An interresting paper, found it here:
http://kokkinizita.linuxaudio.org/papers/index.html

Still, I wonder:
Why not compute the time of any sample - relative - to a random start
time (using sample frequency) ?
( The start time would be the time, a recording or playback was started. )

For example:
At f = 48000 Hz, I would expect a soundcard to deliver exactly 48000 *
10 = 48E4 samples in 10 seconds.
Is this assumtion wrong ?

If this applied, one could easily calculate the time-position of
Sample S = 96000
based on a random start time (offset) T0 = 10 seconds:
(We know the answer : 10 sec + 2 sec = 12 sec )
Calculation:
1 sec / 48000 Hz * 96000 + 10 sec = 12 sec
(position of sample nr. 96000)

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] timing the processing of queues between engine and ui threads?

2011-11-06 Thread Emanuel Rumpf
2011/11/5 Iain Duncan iainduncanli...@gmail.com:
 On Thu, Nov 3, 2011 at 8:05 PM, David Robillard d...@drobilla.net wrote:


 The only difference non-jack would make is you need some function to
 tell you roughly what audio time it is you can call from another thread.

 Does one use the system clock for that?
I think frame time (a frame of samples) is meant here  ? That time is
delivered in the jackd process callback.

 Is it accurate enough?
Depends on the system clock used, I presume.
For best accuracy, you have to configure your kernel to support HPET
(high precision event) timers
and make ALSA use it as default.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] prototyping callback based architecture in python?

2011-11-06 Thread Emanuel Rumpf
2011/11/4 Iain Duncan iainduncanli...@gmail.com:

 Thanks for the opinion Emmanual, very helpful. Yeah, it may be better to
 just start off in C++ for the engine side and bite the bullet there.


You can use C++ for it. - that doesn't mean you should ;)

There may be more appropriate progr. languages.

For example look at Processing
http://processing.org/

Serpent is close to what you are watching out,
it has a Syntax very close to Python.
http://www.cs.cmu.edu/~music/aura/serpent-info.htm

If you remain with C++, you have to decide for a cross-platform framework.
For example JUCE, SFML or LGI.
More here:
http://wiki.linuxaudio.org/wiki/programming_libraries#dimensional

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Communicating between python UI and C++ engine for real time audio?

2011-11-04 Thread Emanuel Rumpf
2011/11/3 Paul Davis p...@linuxaudiosystems.com:
 On Thu, Nov 3, 2011 at 4:02 PM, Harry van Haaren harryhaa...@gmail.com 
 wrote:
 Just wrap two ringbuffers into a single class, and then have two set / get
 functions.

 Basically one RtQueue instance can pass messages back and forth between
 two threads lock free.
 I'd like to improve it so that one get / set method is there, and its
 thread-aware so it will automatically push / pull to the right ringbuffer.
 But that's a touch hard for me as I'm using GLib threads and finding which
 thread is running is something i can't do yet :D

 this approach requires that all your data structures can be
 representable as POD (plain old data) and be effectively and easily
 de/serialized from/to a bytestream.

 this can be quite restrictive. linked lists, for example ...


While this is restrictive, in the way you mention, I think it's a
welcome simplification
( compared to implementing a real-time-capable-linked-list + other
rt-structures ),
if your use-case doesn't require direct calls to the list (for any reason),
then you could request insert/remove/update operations through the
rt-ring-buffer.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] prototyping callback based architecture in python?

2011-11-04 Thread Emanuel Rumpf
2011/11/2 Iain Duncan iainduncanli...@gmail.com:
 Hi, I'm working on an a project that I intend to do using the STK in a
 callback style, but am hoping I can prototype the architecture in python
 ... ... ...
 until I've figured out the various components and their responsibilities and
 dependencies. Does anyone know of any kind of python library ( or method? )
 that would let me simulate the way callback based STK apps using RTAudio
 work? IE

You could implement the callbacks (and link it to STK) with Cython.
(not CPython)
This would require you to write a Cython-Header file for the called
STK functions.
Cython works very well for this, although you have to learn it, because
it's neither real C nor real Python, but it's close.

With some attentiveness, you could write rt- functions in Cython,
because they compile to pure C / binary.


 I want to have a python master callable that gets called once per
 audio sample
No, Once per audio buffer, consisting of many (e.g. 128) samples.
That's a better choice, usually, even if you do sample-by-sample
processing within the function/callback.

 and has a way of sending out it's results to the audio
 subsystem.

 I've found a bunch of python audio libs but it doesn't seem like they work
 that way,

Note:
 Don't use python threads (as implemented in CPython), they do not
work for this.
 You might have more luck with the more recent multiprocessing module,
 ( http://docs.python.org/library/multiprocessing.html )
 It was introduced to circumvent some of PythonThreads limitations.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Communicating between python UI and C++ engine for real time audio?

2011-11-04 Thread Emanuel Rumpf
2011/11/4 Paul Davis p...@linuxaudiosystems.com:
 On Fri, Nov 4, 2011 at 1:16 PM, Emanuel Rumpf xb...@web.de wrote:

 While this is restrictive, in the way you mention, I think it's a
 welcome simplification
 ( compared to implementing a real-time-capable-linked-list + other
 rt-structures ),
 if your use-case doesn't require direct calls to the list (for any reason),
 then you could request insert/remove/update operations through the
 rt-ring-buffer.

 you can't perform insert/remove/update operations on a normal linked
 list in an RT thread.


Right. What I meant is: to enqueue the required operations in a
realtime-queue (ringbuffer),
then read that queue from a non-rt thread in order to update the non-rt list.
This implies OTOH, that list-actions take place with a delay (at least
not instantly), but
may work in some situations, e.g. recording an audio stream.

@ Iain and others
Before you start to implement your own, which can take as much time as
your whole project ...
Here is a list of some libs I found, that implement lock-free
structures, STM, etc.
http://wiki.linuxaudio.org/wiki/programming_libraries#lockfree_non-blocking_data_structures_-_libraries
If anything is missing, let me know, or edit yourself.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] prototyping callback based architecture in python?

2011-11-04 Thread Emanuel Rumpf
2011/11/4 Iain Duncan iainduncanli...@gmail.com:

 On Fri, Nov 4, 2011 at 11:32 AM, Kjetil Matheussen
  Are you sure you need to use Python? There are other high level
  languages
  letting you do this, which are much faster than Python.
  LuaAV for Lua is the most obvious since Lua is the same
  type of language as Python. Other alternatives I know of are Faust,
  Kronos (if it's available now) and Snd-RT.
  (Of those last three, you should look at Faust first.)
 


 Well, I code in Python for a living, so as far as maximizing developer time
 it makes sense! And there are a lot of nice libraries out there for doing
 things in Python ( gui, midi, osc interfaces, etc )


While I can understand your desire to code in Pyhton,
what you are trying to accomplish is not simple with Pyhton
(if possible at all), not even with C.
All your questions are just the beginning of a very huge problem ;)
I presume: by trying to use Python for this, dev-time will grow
exponentially ...
Do you have any experience in connecting python to C, wrapping ?

I would advice (if asked ;) to skip
Python for the real-time part.
Use any language that is capable.

(Apparently, most Python Modules are actually Wrapper-Classes for C
- would you call that a capable language ? ;)

You could still write the GUI in Python,
choosing any applicable protocol (OSC, D-Bus, ...) l in order to
connect to the non-rt part of the engine.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jack session compatible applications?

2011-10-01 Thread Emanuel Rumpf
2011/9/27 thijs van severen thijsvanseve...@gmail.com:
 On 09/26/2011 09:21 AM, thijs van severen wrote:
 how about Yoshimi, AMsynth, Ghostess ?

 Yoshimi: since 0.060. amSynth 1.3: the 1.3 beta's have JS support.


Hi
Grammostola assembled a list of JS apps  :
http://tangostudio.tuxfamily.org/jacksession?lang=en
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] a *simple* ring buffer, comments pls?

2011-08-27 Thread Emanuel Rumpf
2011/8/20 Emanuel Rumpf xb...@web.de:
 Technologies as Mono and LLVM appear to make that (using different progr. 
 languages) possible.

... and Java.


Microsoft submitted a portion of its .Net framework to a standards
body, but Heffner estimates it amounts to only 10%, ...
( source:  http://www.computerworld.com/s/article/71221/.Net_vs._Java )

Because of the possible threat of Microsoft patents, the FSF
recommends that people avoid creating software that depends on Mono or
C#
( source: http://en.wikipedia.org/wiki/Comparison_of_the_Java_and_.NET_platforms
)

So, maybe rather not  .net / Mono  ;)

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] a *simple* ring buffer, comments pls?

2011-08-20 Thread Emanuel Rumpf
2011/7/20 Kai Vehmanen kvehma...@eca.cx:

 PS My plan B is to wait and see for another 10 years (and many more
   long threads about this topic on this list), and then
   I can at least just start using C++0x already... ;)

It's called C++11 now and accepted by ISO already ;)

2011 April 11 ---  C++11, passed review by the technical standards committee:
  http://www.physorg.com/news/2011-04-c11-iteration-language.html

The biggest changes:
  
http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/

I've never particularly liked C++ (syntax and complexity) though and would
prefer a different language to be spread.
Technologies as Mono and LLVM appear to make that possible.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] a *simple* ring buffer, comments pls?

2011-07-12 Thread Emanuel Rumpf
Will this solve any of the problems you are worrying about ?
Anyway, I'm mentioning it:

http://gcc.gnu.org/projects/gomp/

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] a small jack-session extension, proposal - was: Feature requests: add JackSession support

2011-07-11 Thread Emanuel Rumpf
2011/7/11 Renato renn...@gmail.com:
 On Sun, 10 Jul 2011 19:43:53 +0200 rosea grammostola wrote:
 On 07/10/2011 06:33 PM, Emanuel Rumpf wrote:

 http://wiki.linuxaudio.org/wiki/user/emrum/jack_session_2_draft

 Good job. I added some comments.
Thank you.



 just wanted to notify that one of the additional ideas is asking
 support for multiple sessions, while one of Emanuel's
 conclusions (first bulleted list, third item) says that this is now
 possible but should actually not be, as it could be an error-source.

I am for/pro multi-session, IF it is completely reliable, works without
hassle (including user-handling) and doesn't complicate
implementation too much. That might be possible. Eventually.

The current behavior, to me, feels strange and unexpected, though:
Opening a running session (twice) opens another set of windows.
What's that ? Do I have a doubled session now ?
It is very opaque, unclear, which window belongs to which session.
Is that how it should be, is that what we'd want ?

I'm adding a new section to the wiki page, (Multi-) Session Handling.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Feature requests: add JackSession support

2011-07-10 Thread Emanuel Rumpf
2011/7/10 rosea grammostola rosea.grammost...@gmail.com:
 On 07/03/2011 12:27 AM, Fons Adriaensen wrote:


 As to Jack Session support, I won't even consider it as long
 as it doesn't support quit-without-save.
 The rationale for not supporting this is IMNSHO completely bogus.

After playing around with it, I'm with you here. It should have
quit-without-save and a few more improvements.

 I've got some other gripes with
 Jack Session as well, but these have been discussed (or at least
 presented) before.


Looks like I missed that discussion.
I think Torben Hohn did very well, introducing jack-session,
it's the way to go, but I think too, it's not mature.

I've prepared a proposal that tries to improve some parts of jack-session,
without making it much more complicated.
Everyone is welcome, to add his ideas and opinion.

http://wiki.linuxaudio.org/wiki/user/emrum/jack_session_2_draft


 Better to have JackSession without a
 quit-without-save option, then no JackSession at all.

Agreed.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Hello World in LV2

2011-07-06 Thread Emanuel Rumpf
2011/7/6 David Robillard d...@drobilla.net:

 ...  Eventually I think it might be nice to do a big LV2 Universe
 tarball release of everything in there,

I can only say YES YES YES to that.
Would you believe, how cumbersome it's been to track, follow and
install LV2 releases ?
(The same unfortunately applies to some of your other apps, ingen, ...)


 .., but I am not sure
 of the form this should take yet.

A tar.bz2 with any script, that would build and install the whole LV2
devel stuff,
including seldom used dependencies. Plus a README, listing additional
dependencies.
For example: I would not expect GTK+ to be included, but a required
rdf-library I've never heard before...

A second tarball, including all currently known LV2 plugins.
This could be called  Official-LV2-plugin-pack_2011-08-01.tar.bz2
and could be updated regularly.

Thank you for this effort.
Making your work more accessible is much appreciated.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Hello World in LV2

2011-07-06 Thread Emanuel Rumpf
2011/7/6 David Robillard d...@drobilla.net:

 For users, there are tarballs of all released extensions,  ...
 Tarballs are released, and announcements are made.  What is the problem?

The problem is: tarballs is plural.

For LV2 you have to download x tars, compile, install and
when you're finally done, your new LV2-plugin still doesn't compile,
cause it would have needed an experimental extension...
my experience so far. Ah right. I should wait for the final release ;)


 A second tarball, including all currently known LV2 plugins.
 This could be called  Official-LV2-plugin-pack_2011-08-01.tar.bz2
 and could be updated regularly.

 I don't think it's appropriate or wise to create any such official
 thing.  Plugins are written by diverse authors in diverse languages with
 diverse build systems.

   Centralization is not a win.


I thinks it can be. I'm not talking about centralizing different projects, but
*final* distribution centralization, a kind of central mirror for
spread projects.

Take ladspa as an example:
There are X websites with ladspa-packages, containing diverse plugins.
Now every maintainer (and interested user) has to track those sites,
downloading from X locations...
My thought: If there was a central collecting point, most maintainers
could simply download
one tar and make the content ready for their distro.
Plugin creators would also benefit: They simply would have to send
their current sources to the collecting point, knowing it
soon became public and spread.



 I think actively maintaining, hosting, distributing, and guiding the
 development of *extensions* is a job that lv2plug.in should ... do ..

So maybe my request should have gone to that address.


 Don't assume that developers actually *want* everything to be
 accessible ;)  I assure you several developers are actively working to
 design, solidify, implement, and release new extensions that will
 provide us with new advanced plugin capabilities as quickly as possible.

Pleased to hear that :)


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Hello World in LV2

2011-07-06 Thread Emanuel Rumpf
2011/7/6 David Robillard d...@drobilla.net:

 ... So, something like a waf script, and an INSTALL file, and a README
 file?  Something like, oh I don't know, the ones that have been there
 ever since the repository was created? ;)


Indeed - one has to install lv2 from the repository.
Then installation is much simpler than the website download, as I'm
just experiencing,
just use waf.
repo download:
  http://lv2plug.in/trac/changeset/273/trunk?old_path=%2Fformat=zip
  don't forget to run lv2config

Then checkout drobilla
  svn co http://svn.drobilla.net/lad/trunk drobillad
and
  ./waf configure --prefix=/usr --bindings --jack-dbus --dyn-manifest

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Feature requests: add JackSession support

2011-07-03 Thread Emanuel Rumpf
2011/7/2 m.wolkst...@gmx.de m.wolkst...@gmx.de:



 but i didn't agree to save the application data into the jack-session folder!


You really should make that a user option !

One of the main points of a session is, to keep data *together*.
So everything belonging to one session goes to one single folder.
If you need a backup, make the application save to a different folder
*additionally*,
but don't skip saving and restoring from the session folder.

 ... also people like me, which plays often improvised music-sessions, will
 create tons of sessions folders with duplicated data.

Turn off the 'versioned' option in qjackctl.
Delete old sessions regularly.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Feature requests: add JackSession support

2011-07-03 Thread Emanuel Rumpf
2011/7/3 Paul Davis p...@linuxaudiosystems.com:

 i feel that if you spend too long reasoning about this, you will
 conclude, as I have, that JACK was actually a mistake (at least in
 terms of the basic framework in which to glue together different
 things processing data streams). the absence of a plugin API that was
 likely to be adopted by all/most developers back in 2000 is what gave
 rise to this situation. there's a limit to how far you can push the
 usability of a DAW built out of N independent processes, each one
 running code developed by different developers with no awareness of
 the others. the limit is, thankfully, not too primitive, but its also
 not far enough out to be able to pretend that JACK + N1 clients is
 actually functionally equivalent to a single host + plugins, at least
 not in terms of state management.

 --p


I see, that treading many different apps as one large entity (with
state management etc.)
is a difficult task. (That's why other systems decided for plugins, I think.)
Unix (as operating system) doesn't  particular help there. (Neither do others.)
New technologies are coming (dbus, cloud-apps, etc.)
but it's not clear to me, which is the best approach for such demands.
I'm not dispraising JACK.
It has been a very important innovation,
that has pushed audio application development for linux tremendously,
by creating a reliable base, with a not too difficult api.
Since you are one of the main actors there,
I really have to thank you for making this progression possible !

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Jack Session Manager: feature request

2011-07-02 Thread Emanuel Rumpf
2011/7/2 rosea grammostola rosea.grammost...@gmail.com:
 On 07/02/2011 12:52 AM, Emanuel Rumpf wrote:

 HINT:   In the new qjackctl, the session-SAVE-dialog has a button
 labled Open.

 Sorry,  I don't see what you mean. It is called Open or something else...?


Yes, sorry, the message doesn't really concern you, but the author of
qjackctl. (Rui Nuno Capela)
The Button has a wrong caption, that's all.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] PHASEX

2011-07-02 Thread Emanuel Rumpf
2011/7/2 rosea grammostola rosea.grammost...@gmail.com:

 It seems to work good here. You  have to disable JACK autoconnect in PHASEX
 and then the connections seems to work.


Here they don't.
And phasex requires much time to start.

How does jack-session know, when an application is ready for creating
connections ?

Suggestions:
For larger gui-intense applications (which take time to start),
SaveAndQuit should rather be SaveAndClose(current Documents).
The some for single-instance applications.
Else, it may take too much time restarting a whole setup.

   jack_session_reply( client, ev );
could additionally inform jack, whether it is using single instance mode.
  ev-app_in_single_instance_mode = true;

and provide a method to load patches, without closing
the application:
  int  my_load_setup( void* data, void* event );
  ev-load_setup = my_load_setup;

This way, jack-session would be able to distinguish, whether
to call ev-load_setup() or start the app with ev-command_line
This load command would tell single_inst. apps to load a document
and start multi_inst. apps with the path.

An additional close_session command would be good (in qjackctl).
This would close the documents of single_instance applications
and quit multi_instance applications (but not jackd and pulse and patchage).


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Jack Session Manager: feature request

2011-07-01 Thread Emanuel Rumpf
2011/7/1 rosea grammostola rosea.grammost...@gmail.com:

 Hmm PHASEX deserves the same kind of love Zynaddsubfx gets these days via
 Yoshimi imho. It's one of the few quality synths on Linux. Maybe a generous
 hacker will provide a patch for JS support in PHASEX :)


Hi
Following your call, rosea, I added JackSession support to phasex !
The concept is still very new to me, but the result is promising  at least.

It currently doesn't restore the connections made,
not sure why, maybe I'm doing anything wrong with the uuid ??


I can send the sources to you, or whoever requires it,
in order to upload to an appropriate location.


HINT:   In the new qjackctl, the session-SAVE-dialog has a button
labled Open.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] wiki page: dead projects

2011-06-30 Thread Emanuel Rumpf
2011/6/30 Renato renn...@gmail.com:


 Maybe add a more detailed explanations than on
 the unmaintained page, like Kluppe is great but it would greatly
 benefit from basic midi support?

Add that info to the kluppe wiki page.
(Or to a new dedicated page, gathering such issues)

 Such a thing could potentially get complicated: shouldn't bugs and
 feature requests not pertain the wiki, but the project's pages/authors?


I think the wiki is a good place for such notes, because everyone can add
and edit.
That only appears reasonable of course,  if developers are interested too
and occasionally visit the site


 Anyhow, I think the unmaintained page is allready a good resource, I
 just think it should be more advertised.

Yes. At least a link from the main page would be welcome.


 As a more general question to the community, what do you think about
 setting up a system where users can donate money for a certain future


Setting up such a system potentially is a lot of work, so
using existing solutions might be preferable.
 http://cofundos.org/

A difficulty: Developers can propose projects there but users cannot
request, AFAIS.

I've created a wiki page, but I mistrust myself, wondering if that offers an
admissible place.
http://wiki.linuxaudio.org/wiki/user_requests

Not for funding likely, but for a rough overview, what users demand or
developers offer ?


 It would be great if such a system could be implemented in a central
 place like linuxaudio.org,

Hm. People already can donate to most open projects.

For a developer it's a great risk, depending on donations only.
That's why those donate buttons don't help much with the projects progress,
because (often) there is no reliability, transparency, etc.
It's usually a welcome addition for developers, but no
real funding option.


 What are the pros and cons of such a system?

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] gladish crashes

2011-06-26 Thread Emanuel Rumpf
output + backtrace
-

canvas::ports_connected(3, 24, 2, 10)
canvas::ports_connected(1, 1, 4, 25)
canvas::ports_connected(1, 2, 4, 26)
canvas_cls::on_realize

Program received signal SIGSEGV, Segmentation fault.
0x0042b36c in ladish_room_proxy_get_recent_projects (proxy=0x0,
max_items=10, callback=0x4200a2 add_recent_project,
context=0x7fffd9b0) at ../proxies/room_proxy.c:481
481   if (!dbus_call(0, proxy_ptr-service, proxy_ptr-object,
IFACE_RECENT_ITEMS, get, q, max_items, NULL, reply_ptr))



(gdb) bt
#0  0x0042b36c in ladish_room_proxy_get_recent_projects (proxy=0x0,
max_items=10, callback=0x4200a2 add_recent_project,
context=0x7fffd9b0) at ../proxies/room_proxy.c:481
#1  0x0042013f in fill_project_dynmenu (
callback=0x4213b6 ladish_dynmenu_add_entry, context=0x7fffe4021700)
at ../gui/menu.c:141
#2  0x00421683 in populate_dynmenu_menu (menu_item=0x7fffe4001c30,
dynmenu_ptr=0x7fffe4021700) at ../gui/dynmenu.c:167
#3  0x7730981c in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x7731b019 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x77324258 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x7732441f in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x74a566ce in gtk_widget_activate ()
   from /usr/lib/libgtk-x11-2.0.so.0
#8  0x7494f94d in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#9  0x7494dce5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x7fffec4a9ed4 in ?? () from /usr/lib/libdbusmenu-gtk.so.3
#11 0x7fffec4aadd8 in dbusmenu_gtk_parse_menu_structure ()



 from /usr/lib/libdbusmenu-gtk.so.3
#12 0x7fffec6b2a76 in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#13 0x7fffec6b2efa in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#14 0x7488795b in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x7fffec6b2ad8 in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#16 0x7fffec6b2efa in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#17 0x7fffec6b2ad8 in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#18 0x7fffec6b2de1 in ?? ()
   from /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
#19 0x76e4b4eb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x76e49bcd in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x76e4a3a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x76e4a9f2 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x74938af7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x00413881 in main (argc=1, argv=0x7fffe348)
at ../gui/main.c:194
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] gladish crashes

2011-06-26 Thread Emanuel Rumpf
also valgrind is reporting the following:



==13299==
==13299== Conditional jump or move depends on uninitialised value(s)
==13299==at 0xA6540CB: __GI___strcasecmp_l (strcmp.S:243)
==13299==by 0xA5EDF60: __gconv_open (gconv_open.c:70)
==13299==by 0xA5FC106: _nl_find_msg (dcigettext.c:990)
==13299==by 0xA5FC818: __dcigettext (dcigettext.c:654)
==13299==by 0x5B76C94: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x5B7994D: g_dgettext (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x7EFA6FE: gtk_get_option_group (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA909: gtk_parse_args (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA978: gtk_init_check (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA9A8: gtk_init (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x4135AE: main (main.c:93)
==13299==
==13299== Use of uninitialised value of size 8
==13299==at 0xA656204: __GI___strcasecmp_l (strcmp.S:2257)
==13299==by 0xA5EDF60: __gconv_open (gconv_open.c:70)
==13299==by 0xA5FC106: _nl_find_msg (dcigettext.c:990)
==13299==by 0xA5FC818: __dcigettext (dcigettext.c:654)
==13299==by 0x5B76C94: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x5B7994D: g_dgettext (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x7EFA6FE: gtk_get_option_group (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA909: gtk_parse_args (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA978: gtk_init_check (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA9A8: gtk_init (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x4135AE: main (main.c:93)
==13299==
==13299== Use of uninitialised value of size 8
==13299==at 0xA656208: __GI___strcasecmp_l (strcmp.S:2258)
==13299==by 0xA5EDF60: __gconv_open (gconv_open.c:70)
==13299==by 0xA5FC106: _nl_find_msg (dcigettext.c:990)
==13299==by 0xA5FC818: __dcigettext (dcigettext.c:654)
==13299==by 0x5B76C94: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x5B7994D: g_dgettext (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.2800.6)
==13299==by 0x7EFA6FE: gtk_get_option_group (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA909: gtk_parse_args (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA978: gtk_init_check (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7EFA9A8: gtk_init (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x4135AE: main (main.c:93)
==13299==
Loading glade from ./gui/gladish.ui
==13299== Conditional jump or move depends on uninitialised value(s)
==13299==at 0xC758510: inflateReset2 (in
/lib/x86_64-linux-gnu/libz.so.1.2.3.4)
==13299==by 0xC758605: inflateInit2_ (in
/lib/x86_64-linux-gnu/libz.so.1.2.3.4)
==13299==by 0xCE03100: png_create_read_struct_2 (pngread.c:164)
==13299==by 0x1859C215: ??? (in
/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so)
==13299==by 0x904971D: ??? (in /usr/lib/libgdk_pixbuf-2.0.so.0.2300.3)
==13299==by 0x9049A0B: gdk_pixbuf_new_from_file (in
/usr/lib/libgdk_pixbuf-2.0.so.0.2300.3)
==13299==by 0x80275CB: ??? (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x802CBAB: gtk_window_set_icon_from_file (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x41F602: set_main_window_icon (gtk_builder.c:39)
==13299==by 0x41F760: init_gtk_builder (gtk_builder.c:84)
==13299==by 0x413605: main (main.c:108)
==13299==






==13299== Conditional jump or move depends on uninitialised value(s)
==13299==at 0x844F20C: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.4)
==13299==by 0xF0A127A: ??? (in /usr/lib/liboverlay-scrollbar-0.1.so.0.0.12)
==13299==by 0xF0A4A78: ??? (in /usr/lib/liboverlay-scrollbar-0.1.so.0.0.12)
==13299==by 0x56CD764: g_closure_invoke (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==by 0x56DE7E2: ??? (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==by 0x56E8257: g_signal_emit_valist (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==by 0x56E841E: g_signal_emit (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==by 0x802095D: gtk_widget_map (in
/usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7F60943: ??? (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x7E7EA0E: ??? (in /usr/lib/libgtk-x11-2.0.so.0.2400.4)
==13299==by 0x56CD764: g_closure_invoke (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==by 0x56DE7E2: ??? (in
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.2800.6)
==13299==
==13299== Conditional jump or move depends on uninitialised value(s)
==13299==at 0x844C133: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.4)
==13299==by 0x844C335: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.4)
==13299==by 0x844CD90: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.4)
==13299==by 

Re: [LAD] Just spotted this

2011-06-26 Thread Emanuel Rumpf
2011/6/26 Fons Adriaensen f...@linuxaudio.org:
 On Sun, Jun 26, 2011 at 01:24:39PM -0500, Duncan Gray wrote:

 I've worked with XMOS, they're first rate. I hope they make it. Their
 processor technology is killer.

 Couldn't agree more.

And the  USB 2.0 Audio Class is finally coming:
http://www.xmos.com/products/development-kits/usbaudio2
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Yoshimi Midi Learn: 1st testing release

2011-06-26 Thread Emanuel Rumpf
2011/6/26 Renato renn...@gmail.com:

 Flushing log:
 Default instrument tar file 
 /usr/local/share/yoshimi/yoshimi-instruments.tar.gz not found


 should I point it to the yoshimi-instruments.tar.gz that's found one 
 directory up (in the root of the cloned git)? how?


maybe : ?
sudo  ln -s   ../yoshimi-instruments.tar.gz
/usr/local/share/yoshimi/yoshimi-instruments.tar.gz
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Tascam US-1641?

2011-06-25 Thread Emanuel Rumpf
2011/6/22 Jeremy Jongepier autosta...@gmail.com:

 The US-1641 still appears to be unsupported.
 http://www.google.com/search?q=tascam+1641+site:mailman.alsa-project.org


Also it appears superseded by Tascam US-1800
http://tascam.com/product/us-1800/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Determining Phase

2011-06-25 Thread Emanuel Rumpf
2011/6/25 Fons Adriaensen f...@linuxaudio.org:
 On Sat, Jun 25, 2011 at 01:55:05PM -0500, Gabriel M. Beddingfield wrote:

 Do you mean... for a very simple sine wave?

 Assuming yes:

   p = asin( x / A )

 Where:

   A is the amplitude of the sine wave

you mean the maximal amplitude (-MAX = x = +MAX) , I guess ?

   x is the value of the sample (-A = x = A)
   p is the phase of the wave in radians (-pi/2 = p = pi/2)

 And what if the phase is  -pi/2 or  +pi/2 ?

since x = A (always), that result is not possible

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Determining Phase

2011-06-25 Thread Emanuel Rumpf
2011/6/26 Emanuel Rumpf xb...@web.de:

 since x = A (always),

better:
abs( x ) = abs( A )

 that result is not possible,

with that function at least
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Determining Phase

2011-06-25 Thread Emanuel Rumpf
2011/6/26 Gabriel M. Beddingfield gabrb...@gmail.com:

 *headdesk*.  Yes... should have been the half-amplitude of
 the signal...   p = asin( 2*x / A )
 I.e. MAX = A/2 and MIN = -A/2


?

Try with

φ = ∆t * f * 2π(rad)
--

φ = 1s * 1Hz * 2π  = 2π (rad)

φ = 0.5s * 1Hz * 2π  = 1π (rad)

φ = 0.25s * 1Hz * 2π  = 0.5π (rad) = 90 (deg)

φ = 0.125s * 1Hz * 2π  = 1/4π (rad) = 45 (deg)


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-10 Thread Emanuel Rumpf
2010/2/8 Paul Davis p...@linuxaudiosystems.com:

 not all PCs can do it. but its simply not true that PCs can't do it.


Accepted.


When running any 32 polyphonic hw synth,
it is able to do those 32 voices anytime.
When running out of the voices, something will
happen (e.g. voice killing/stealing). But it won't start any noise.

Something to concider
Would a check for guaranteed voices be possible for a soft-synth ?
That would require an extensive deterministic behavior, I think.
Instead of noise generation, maybe some sort of interpolation/silence
for sample values
could be used, when running out of processing power.


Kind regards
- -
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Emanuel Rumpf
2010/2/8 Joshua Boyd jdb...@jdboyd.net:

 However, I don't think it is generally right for linux audio until I can
 write cuda code (or a similar language) and have it run on Nvidia cards,
 ATI cards, at least one card using open source drivers, and plain CPUs
 using SSE (and/or threading).

 It seems that any quarter now, OpenCL may be close to meeting the
 qualifications I set (use with Nvidia, ATI, free drivers, and CPU only),


Actually OpenCL seems to already be supported, (in new hardware only ?),
by the large graphic players:
http://www.nvidia.com/object/cuda_opencl.html  (there's a lot of docu
here too !)
http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx
http://www.khronos.org/opencl/

There's also the CT Technology from Intel (aquired from RapidMind),
which is claimed to be easier to code and less hardware-dependant than OpenCL.
http://software.intel.com/en-us/data-parallel/
http://software.intel.com/sites/products/collateral/hpc/ct/ct_newsletter1109.html

 however, I don't believe that the OpenCL language is as nice or easy to
 use as Cuda.  Is there any work on an open source clone of Cuda?

A link to a short Intro. The code looks acceptable at a first glance:
http://ati.amd.com/technology/streamcomputing/intro_opencl.html

I still somehow wonder, how cheap low MHz Chips can outperform my
GHz PC system. The answer seems to be parallelism of computations,
which the GPUs (or DSPs) support better than CPUs.
This also means, that faster CPUs won't necessarily bring
the effect we are waiting for.
(To play many software effects/instruments in an acceptable time.)

Anyway. If the PCs can't do it, someone has to create a new
system, or extend the PC anyway to make it capable.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Emanuel Rumpf
2010/2/4 Jens M Andreasen jens.andrea...@comhem.se:

 Zap the Gnome on steroids and dedicate your GPU for audio then!


How to ?
Where is the switch that would tell ladspa/dssi to use the GPU for processing ?

 I have success with 3 audio buffers в 0.3 ms + another 0.3 ms for the
 PCIe roundtrip to the GPU. Voicecount is well into the hundreds and then
 some ...

That sounds marvelously.


I found this information for DSP Accelerators
http://www.thomann.de/gb/onlineexpert_127.html

as well as this interresting device:
http://www.uaudio.com/products/uad/uad2sl/index.html
(I assume that it's not supported on linux)

Those just work with special code-adjusted plugins.
Does the VST API support them or even use them if present ?
Do the RMI devices have plugin-accelerating DSPs ?

Would it be worth to design an open-hardware DSP-add-on with an open API ?

Since GPUs are very common already and have the fast PCIe connection
using them may be more appropriate, I think.



Running the rt-check script, indeed, I found some issues.
Fixed them.

Now, the only remaining warning is:
Checking for Generic PCI bus-master DMA support... not found.
** Kernel without Generic PCI bus-master DMA support


I retested with an undemanding 130 MB piano gig-file.
Results:

- Linuxsampler runs stable at 8ms. Great.

- I'm able to play fast Sequences with PianoTecTrial at 16ms.
  I'm not allowed to use sustain or play quick chord progressions.
They produce xruns and hard noise then.

- yoshimi 054-pre4 behaves comparable to PianoTec at 16ms, but slightly worse.
  It produces occasional xruns even without chord-progressions.


Likely conclusion:
My system is not fast enough for this kind of processing,
or somehow has a bad hareware-design.
I will buy a new machine next year with 8 processors hopefully...

Until then, the GPU seems the only miracle that could possibly help me out.
Would it ?

Thank you, replyers, for your replys and suggestions.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Emanuel Rumpf
Has anyone ever played a plugin in realtime ( live )...

...and I don't mean a one-finger melody, but a mutli-polyphonic piano piece,
eventually with sustain held down, which resulted in about 20 to 40
simultaneusly processed voices.


I just realized, that I've never been able to do that. Neither almost.
Frustration.
But on my digital piano, I can to it.
That thing is some years old and definitely doesn't have 2 x 2 GHz
processors available.

Anyway.
The answer so far has been: That system is more dedicated, thus it
can, while my PC cannot.

The conclusion:
I'm working with a wrong system !  -  It doesn't allow me to work the
way I intend.

Damn. What did I buy this system for ? I don't need those 2 x 2GHz for
word processing - right ??


This makes me wonder:

Which one is the system for my requirements ?
Which one is able to make some softsynths / samplers
process 30 voices in less than 9 milliseconds ?


Could my system be extended or modified in order to suit ?

How then ?

We have dedicated hardware for graphics, why not for audio ?


Sincerely

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] audio function generator ?

2010-01-31 Thread Emanuel Rumpf
2010/1/31 Kjetil S. Matheussen k.s.matheus...@notam02.no:

 
 This is an example of a generated function:

 (- (* (* (/ (/ (/ 713.662104415 445.034158546 ) (- 490.692993367
 559.51504981 ) ) (* time 660.128287744 ) ) (% 590.971081136 (* (-
 23.1423968616 785.746653358 ) time ) ) ) (/ (/ (* (sin 226.663113211 ) (*
 245.756462957 409.931439243 ) ) (* (* 316.450983547 935.411202816 ) (/
 516.391765424 836.037528668 ) ) ) (% 385.016263895 (sin (* 427.285664609
 840.056760839 ) ) ) ) ) (/ (+ (+ (+ (- 642.220260107 364.11006353 ) time )
 time ) (% (sin (cos 599.645167648 ) ) time ) ) (sin (- (cos time )
 999.4616109 ) ) ) )
 

The resulting sound is obvious - isn't it ? Well... :-))


 Cool stuff, and definitely a true audio function generator. :-)

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] GUI for audio application

2009-12-30 Thread Emanuel Rumpf
2009/12/29 Arnold Krille arn...@arnoldarts.de:

 Very shiny. However, pretty useless as far as screen real-estate goes.
 100 or so pixels either side for 'screws' is not necessary either.

 And pixel-based guis are _so_ last century.

 When you want good guis, that is usable and scalable and good looking, its not
 about doing in gui what you do in gimp, but doing in gui what you do in
 inkscape...



I disagree.
1. rendering complex SVGs can be very time-consuming
2. scaled SVG can look worse than scaled px graphics (depends on
design, renderer)
3. some graphic-effects cannot (yet) be achieved with vector graphics
(think of all the gimp plugins..., photo realism)

SVG has benefits for some areas,
but it is not a replacement for pixel art.


Two can have different opinions about a certain design,
but should not be against design as a process of thinking about
beauty, attraction and usability.
Even the CML is a kind of design, if you want to see it as that...
neither the worst, nor the best.

In software, usability has priority over beauty (usually).
IMO, the screws are totally acceptable here, as design elements,
since they don't prevent usability nor introduce optical overload.

Possible interpretation:
The screws add imaginary value, by offering the user something known,
real, by pretending materiality.

If we only did the necessary, our world would look poor -- ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] weak wiki question - linuxaudio.org

2009-11-14 Thread Emanuel Rumpf
How to edit those pages with content links as :

{{topicmidi_software}}

??

Is that for choosen developers only ?
Maybe related information should be added to
editor_notes (http://wiki.linuxaudio.org/wiki/editor_notes).

Thanks

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] weak wiki question - linuxaudio.org

2009-11-14 Thread Emanuel Rumpf
2009/11/15 Ray Rashif schivmeis...@gmail.com:
 2009/11/15 Emanuel Rumpf xb...@web.de

 How to edit those pages with content links as :

 {{topicmidi_software}}

 ??

 Is that for choosen developers only ?
 Maybe related information should be added to
 editor_notes (http://wiki.linuxaudio.org/wiki/editor_notes).

 Thanks



 I can edit this one
 fine: http://wiki.linuxaudio.org/apps/categories/midi_software
 So maybe I don't know what you mean by edit.


When clicking the edit button, I get excactly this:

= MIDI Software =

  - {{tagEnvironments}}
  - {{tagMIDI_Programming_Resources}}

{{topicmidi_software}}


What I'd like to know:
How to edit/extend the list of midi_software, that appears on the article page ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] weak wiki question - linuxaudio.org

2009-11-14 Thread Emanuel Rumpf
2009/11/15 Ray Rashif schivmeis...@gmail.com:
 2009/11/15 Emanuel Rumpf xb...@web.de

 When clicking the edit button, I get excactly this:
 
 = MIDI Software =

  - {{tagEnvironments}}
  - {{tagMIDI_Programming_Resources}}

 {{topicmidi_software}}
 

 What I'd like to know:
 How to edit/extend the list of midi_software, that appears on the article
 page ?

 Ahh, just edit the child article:
 {{tagMIDI_Software}}
 Then it will appear.

I still don't totally get it.
How to find the child article, what is the URL of it ?
Thank you.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] weak wiki question - linuxaudio.org

2009-11-14 Thread Emanuel Rumpf
2009/11/15 Ray Rashif schivmeis...@gmail.com:

 What do you want to extend the page MIDI Software with? Let's say you have
 created a new page midirandomizer, or it already exists but is not in the
 MIDI Software list and you want to add it. On the midirandomizer page, you
 should have at least:
 == MidiRandomizer ==
 ...
 {{tagMIDI_Software}}
 ~~META:title=MidiRandomizer~~
 ~~META:desc=Generate MIDI (SMF) files according to randomization
 parameters~~
 ~~META:link=http://sourceforge.net/projects/midirandomizer/~~
 ...

Fist I wanted to understand the logic behind the wiki-lists, because
they are being used often there.

Then I thought about adding Epichord to the midi_software list
(I think that would be the appropriate category),
since I had not heard of it until some hours ago.
(http://evanr.infinitymotel.net/epichord/)

That is to say, the list is being generated automatically through the
tag command
and from the META tags within a dedicated wiki-page ?


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] How to develop guis for LV2?

2009-11-08 Thread Emanuel Rumpf
2009/11/8 Jeff McClintock j...@synthedit.com:
 insert obligatory GMPI joke here
-dr

 GMPI is quietly and successfully in use as the new native plugin format of
 SynthEdit. I've so far written 70 plugins with it, and others are writing
 more. SynthEdit's previous plugin format   has about 1000 plugins available,
 hopefully also will be ported to GMPI (aka SEM V3)... so GMPI can't really
 be called vaporware any more.


From the KVR site:
Like MIDI, GMPI will be license free and royalty free.

...and will cost you ~ $88 to acquire.
My addition.

midi.org is a kind of $$ machine, if you ask me.
They still sell midi 1.0 specifications - hard to believe.
20 years of income for 1 week of work ?
http://www.midi.org/store/docsales.php

I really should open a specification store myself, looking at that.
Maybe LV2 was more successfull, if it would be sold for $88 - ha,ha.

FLOSS poeple - let's rather ignore GMPI as long as we can.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] How to develop guis for LV2?

2009-11-08 Thread Emanuel Rumpf
2009/11/8 Paul Davis p...@linuxaudiosystems.com:
 On Sun, Nov 8, 2009 at 7:50 AM, Emanuel Rumpf xb...@web.de wrote:
 2009/11/8 Jeff McClintock j...@synthedit.com:

 FLOSS poeple - let's rather ignore GMPI as long as we can.

 I don't recall you being involved in the GMPI process. I was, and so
 was Jeff (and others include Steve Harris).

 The final outcome of the organized attempt to define and implement
 GMPI was not terribly satisfactory, but that was partly because the
 people who put the most time into the process (including Jeff) were
 unhappy about MMA's attempt to control the rest of the process.

 Imagining that GMPI was some kind of corporate shill attempt at a
 plugin standard is completely wrong. It was designed by FLOSS-friendly
 developers, with the intent on their part that it would remain that
 way. The fact that the MMA wasn't willing to play ball with that idea
 was what helped kill it - we had actually reached a final
 specification. the MMA does not own that spec.

 Jeff has continued to refine it via experience .. that doesn't
 necessarily mean that its a viable plugin API at this point, but you
 could at least be a bit more informed about its history before
 denouncing as non-FLOSS-ish ...

That's right. I've not been informed of this history.
Thank you for the information.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] timers

2009-11-07 Thread Emanuel Rumpf
Hi

I'm confused about all the timers.

There is:
- system timer
- hpet (high precision event timer)
- hr-timer (high resolution timer)
- rtc (real time clock)
- cyclic (what's that? a coded loop?)
- anything else ?


What is the relation of all these ?
Which hardware devices are actually used by those ?
Which is the prefered timer for sequencing ? hr-timer / rtc ?

Some timers can be opened only once ?
For example if jackdbus is using hr-timer, no other application can too ?
But applications need to use the same timer  in order to sync - right ?
Which concepts exist to share a certain timer ?
How to verify if a timer is working ?
Is there tool that would help ?
Opening the hr-timer with rosegarden freezes my whole system here,
what could cause that ?

Thanks



Related to my sytem:


I get:
--

$ lsmod | grep rtc
rtc_cmos9680  0
rtc_core   16784  1 rtc_cmos
rtc_lib 2844  1 rtc_core



But the following command doesn't list any rtc-timer (is that
expected, what to do ?):
-
$ cat /proc/asound/timers
G0: system timer : 1000.000us (1000 ticks)
G3: HR timer : 0.001us (10 ticks)
  Client sequencer queue 2 : running
  Client sequencer queue 0 : running
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-1-0: PCM playback 0-1-0 : SLAVE
P0-2-1: PCM capture 0-2-1 : SLAVE
P1-3-0: PCM playback 1-3-0 : SLAVE
P2-0-0: PCM playback 2-0-0 : SLAVE
P2-0-1: PCM capture 2-0-1 : SLAVE
P5-0-1: PCM capture 5-0-1 : SLAVE

$ ls /dev/rtc* -lh
lrwxrwxrwx 1 root root   4 2009-11-05 17:13 /dev/rtc - rtc0
crw-rw 1 root audio 251, 0 2009-11-05 17:13 /dev/rtc0

$ uname -a
Linux 2.6.31-rt11-e1 #1 SMP PREEMPT RT  Oct 27 CET 2009 i686 GNU/Linux Debian



--
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] timers

2009-11-07 Thread Emanuel Rumpf
2009/11/7 James Warden warj...@yahoo.com:

 You can read more at
 http://en.wikipedia.org/wiki/High_Precision_Event_Timer


Thanks for your interrest.

I found some kernel docu:
http://www.mjmwired.net/kernel/Documentation/timers/

And:
http://lwn.net/Articles/167897/


Looks like HPET and RTC are hardware devices, where HPET is meant
to be superior and replace the RTC.

I still don't get: What is the HR-timer ?
I mean how does it compare to the HPET ?
When to decide for the HPET, when for the HRT  api ?
Does one if it depend on the other ?

The kernel-devs seem to distinguish between high-resolution clock (=hpet ??)
and HR-timer :
We used the high-resolution clock subsystem ontop of hrtimers to verify
152 the hrtimer implementation details in praxis ... 



-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] alsaplayer fix

2009-11-02 Thread Emanuel Rumpf
Some fixes for alsaplayer 0.99.80

- compiles with gcc 4.4 now
- works with new JACK version (1.9.3)  (jackd audio server)


Replace the old files with those provided in this package.
Recompile.


-- 
E.R.


alsaplayer-0.99.80.fix.tar.bz2
Description: BZip2 compressed data
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] alsaplayer fix

2009-11-02 Thread Emanuel Rumpf
2009/11/2  f...@kokkinizita.net:
 On Mon, Nov 02, 2009 at 10:31:26PM +0100, Emanuel Rumpf wrote:
 Some fixes for alsaplayer 0.99.80

 - compiles with gcc 4.4 now
 - works with new JACK version (1.9.3)  (jackd audio server)

 If you did add a call to jack_get_sample_rate(), that
 was not necessary (but it won't harm).

I did. There was a strange message about
the sample rate being zero.
Too low quality for my taste :-))

 When you enable
 the sample_rate callback, jack should call it immediately
 with the current sample rate. Jack1 does so, Jack2 aka
 jackdmp aka 1.9.* doesn't. So the bug is in 1.9.*, not
 in alsaplayer. It has been corrected in SVN.

Thanks for mentioning.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] State of Plugin API's

2009-10-28 Thread Emanuel Rumpf
2009/10/28 Jörn Nettingsmeier netti...@folkwang-hochschule.de:
 let's take the lv2 technology, get a set of canonical extensions that
 every plugin author can expect to be present on every host worth its
 salt, and drag it to critical mass :)

Also there should be two full-packages:
lv2-sdk(everything required to start development,
including extensions and libs, slv2, docu, etc)
lv2-plugins-all   (the most used/recommendable, stable plugins, ready
to run, incl. dependencies)

Gathering the required packages and dependencies for plugins and hosts
(with corresponding versions ! ) is a kind of detectiv work currently.

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
In the new jack API the function jack_client_new ist deprecated.
Actually it's not only deprecated:
Apps using it don't play any sound,
as I've experienced with alsaplayer, and fluidsynth for example.


I'm thus inviting

1. to change all apps which still use jack_client_new to use this instead:

//jack_client_t*
jclient = jack_client_open( name, //jack_options_t
JackNullOption,  //jack_status_t * status
NULL
);


2. to make the new jackd work with jack_client_new for some time
still, until most apps have adjusted their code

Thanks for the advertence.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
2009/10/11 victor victor.lazzar...@nuim.ie:
 Csound also uses jack_client_new(). Is there any document explaining what
 needs to
 be done to update to the new API?


Replace jack_client_new() with jack_client_open(), as mentioned.
More info here:

http://jackaudio.org/files/docs/html/group__ClientFunctions.html#g705aa8159e65464dc7e9cf65fc451b90
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
2009/10/11 Adrian Knoth a...@drcomp.erfurt.thur.de:
 On Sun, Oct 11, 2009 at 04:41:25PM +0200, Emanuel Rumpf wrote:

 In the new jack API the function jack_client_new is deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,

 Huu? As far as I know, nothing has changed on the jackd side. Also
 jackd2 still provides jack_client_new, so what you see must be something
 else.


At least: I'm using jack 1.9.3 (switched to jackdbus recently)
Recompiling with jack_client_open() fixed the sound -
that looks fairly obvious, doesn't it ?
Maybe that hit just me for the instance, but soon may be all of you...
Thus I decided to rather mention it.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] GPL Violation Alert! - update

2009-08-05 Thread Emanuel Rumpf
2009/8/5 Frank Barknecht f...@footils.org:

 Quotint the GPL-FAQ. However applied to LADSPA this would mean, that
 GPL-plug-ins are not allowed in commercial software *at all*,

That's been *my* understanding of the GPL too:
It just doesn't want GPL'd software to be used by proprietary software
in any way.
That's why LGPL was introduced: to be used in circumstances, where
pure GPL is too coercive.
I've been surprised, that some (most ?) plugins were using the GPL, but
thought it was intentional, that authors wouldn't want
non-free-software to use LADSPA etc.
If they (you) would like to allow non-FLOSS to use the plugins, rather
use the LGPL, I think.


-- 
e.r.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Need to look at and tune an acoustic instrument

2009-06-06 Thread Emanuel Rumpf
2009/6/1 Jan Weil jan.w...@web.de:
 On Mon, Jun 01, 2009 at 12:06:16AM -0400, Gene Heskett wrote:
 I'm told that matlab can do this, but this is a one time deal on a home made
 instrument.  I've not that sort of money to spend.

 Do we have anything for linux that can take a microphone input to an audio
 card, do an FFT on what it picks up that is accurate to small parts of a 
 hertz
 at frequencies in the 1st two octaves of a keyboard?

 FMIT http://home.gna.org/fmit/?


I compiled version 0.97.7 of fmit but
got an error, when trying to start it: Symbol not found.

The solution was to comment out the line starting with
 jack_set_error_function
at  line ~876 in src/CaptureThread.cpp

It works now.
Looks nice. Thanks.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] JACK and computer sleeping

2009-03-22 Thread Emanuel Rumpf
of interest:
http://en.opensuse.org/Pm-utils#Creating_your_own_hooks
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] linuxaudio.org

2008-10-25 Thread Emanuel Rumpf
2008/10/25 Robin Gareus [EMAIL PROTECTED]:
 Consider conference.linuxaudio.org or conf.linuxaudio.org. Redundant
 redundancy department / cryptic abbrev. ;)

 old legacy issue: Conference vs. Consortium came up with LAC around the
 same time: the consotrium owns the www. website, lac. is the conference.

 I'm all for moving it to conference.linuxaudio.org and we'll keep a 301
 redirect from lac. (the domain was used by previous conferences)  Well,
 it is up to the next conference organizer(s) (or their poster-designer):
 http://conference.linuxaudio.org vs
 http://[www.]lac2009[.linuxaudio].org etc.


To me, conference sounds like a dry buisiness gathering.
what about
meet.linuxaudio.org ?

and maybe
meet.linuxaudio.org/lac2009/


--
e.r
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] LASH - some questions comments

2008-10-16 Thread Emanuel Rumpf
Hi

I get handler/signal doesn't exist messages.
If I press the save button in lash_panel:

lash_control_signal_handler: Received unknown signal 'ProjectSaved'
lash_control_signal_handler: Received unknown signal
'ProjectModifiedStatusChanged'

Is that expected behavior ?
(lash 6.0rc1, Compiled with JACK 0.109.2, D-Bus 1.2.1, libxml2 2.6.32,
ALSA 1.0.16 )



Output:
---
 $ lash_save_button
lash_control_signal_handler: Received unknown signal
'ProjectModifiedStatusChanged'
Add client (New Project): c93429bd-c532-4482-b33b-d156ff53c8a7
method_default_handler: Method SaveProject with signature  on
interface org.nongnu.LASH.Server doesn't exist
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Something like Processing for audio

2008-09-29 Thread Emanuel Rumpf
2008/9/29 nescivi [EMAIL PROTECTED]:
 If the computer (or maybe rather computation) becomes your instrument of
 choice to make music, you have to understand how it works.
 That takes learning too.



The question here is: what to learn?
I would not expect a musican to learn programming
in order to record audio nor a synth-sound developer
to learn dsp coding technics.

There are different layers of complexity and approaches
and maybe Darren is right, that
the complexity is not enough hidden,
I mean in the background of the task to accomplish,
in linux, so that easier tasks can soon
become confusing, or flood the banks,
by introducing different technics and requiring
in-depth knowledge.

For example:
If I wanted to write a
synth plugin, I would not expect in
the first place, to worry about things
as realtime privilegs, threads, realtime memory allocation,
server-client handling  communication,
double-buffering, image-rendering etc...

Unless I wanted to do something completely new,
I would hope, to have predefined known working
solutions for most of these requirements.
To have them simplified as much as possible by
a host application, because
otherwise everyone would
have to think about it again and again...
instead, I'd prefere to concentrate on
the actual task.

Maybe LV2 etc. have not gone far enough, in this sence.


My 2 €-Cent,
Emanuel
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Something like Processing for audio

2008-09-28 Thread Emanuel Rumpf
Do you mean something like SynthEdit for VST ?
I've never worked with it but understood it were
a kind of plug'n-drag your own synth, without coding skills.

Some comparable apps exist:
Ingen, Alsa Modular Synth, Clam, GAlan, any more ??


If you want to code but have it easy,
there is no all-in-one solution,
because that would restrict developers,
(I know, sometimes it's nice to have no choice ;)

But there are same parts that can be combined to simplify
plugin development:

gui-creation:
gkt:
http://phat.berlios.de/
juce
http://www.rawmaterialsoftware.com/juce/

tools to make tools:
http://linux-sound.org/tools.html


Another hint for simple coding: The SndObj Library::
http://music.nuim.ie//musictec/SndObj/main.html


Good luck with all this,
Emanuel
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ot] capitalising words in a shell-script

2008-09-27 Thread Emanuel Rumpf
2008/9/27 Jens M Andreasen [EMAIL PROTECTED]:

 ... But my nightmare is the day when
 procesors gets so powerful so that the new kids on the block decides to
 rewrite the (Linux)kernel in javascript!

Still in planning stage, but maybe not that far away:
http://sourceforge.net/projects/cleese/


  Solutions of simple problems, demanding several complex packages to be
  piped into one each other, does not take my fancy.

Well... some unix gurus would claim here that unix
piped *simple command tools* i.o. to accomplish *complex tasks*...
depends on the vew ;-))
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


  1   2   >