Re: [LAD] Jack port alias names

2010-02-23 Thread Nedko Arnaudov
Tim E. Real termt...@rogers.com writes:

 So there's no way to tell if a Jack system port actually belongs to (our own)
  ALSA client?

If a2jmidid is used in dbus mode, you can map ports through the dbus calls:

method name=map_alsa_to_jack_port
  arg name=alsa_client_id type=u direction=in /
  arg name=alsa_port_id type=u direction=in /
  arg name=map_playback type=b direction=in /
  arg name=jack_port_name type=s direction=out /
/method
method name=map_jack_port_to_alsa
  arg name=jack_port_name type=s direction=in /
  arg name=alsa_client_id type=u direction=out /
  arg name=alsa_port_id type=u direction=out /
  arg name=alsa_client_name type=s direction=out /
  arg name=alsa_port_name type=s direction=out /
/method

lpatchage and ladish use this to display one box per alsa client and
to merge mapped alsamidi ports and jack audio ports into same box given
that jack client name and alsa client name matches.

Of course this is a workaround for subopitmal jack API. Other workaround
is the alias mechanism. Hopefully one day jack API itsell will get
fixed, in 2020 maybe :]

As side note, a2jmidid and its jack internal client incarnations
should use multiple clients. And then the client autorenames hit the
fan.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpqhazvmsGvp.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] dead audio projects worth resuming

2010-02-11 Thread Nedko Arnaudov
Adam Sampson a...@offog.org writes:

 The two obvious big bits of work that could be done to it are to add
 JACK MIDI support (which should be fairly easy), and to add support for
 LV2 plugins (a bit trickier). For the latter, I was wondering if it
 might be easier to retrofit JACK Rack's nice interface to one of the
 existing LV2 plugin hosts...

lv2rack is open for features that are present in jack-rack

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpWjRXC67vm1.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Mon, Jan 4, 2010 at 12:03 PM, rosea grammostola
 rosea.grammost...@gmail.com wrote:
 When ladish studio is being saved, applications that are run at level 1
 receive the SIGUSR1 UNIX signal.

 How does an application indicate that it intends to run at level 1?

Currently an app cannot do it at software level. The level 1 support
just needs to be documented. In future, what levels are supported will
be indicated by fields in the .desktop files. Until then users are
supposed to know whether given app supports given level and indicate it
when they start the app. This is done by a radio button selection in the
gladish app start dialog. The dialog can be seen in the ladish-0.2
demonstration video at 0:52:

http://www.vimeo.com/8530340

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp7T7h8HCHtf.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Fri, Jan 8, 2010 at 10:36 AM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Currently an app cannot do it at software level. The level 1 support
 just needs to be documented.

 What I mean is: if the user starts an application that has no
 knowledge of LADI at all, and they check the level 1 box in ladish, is
 that application then guaranteed to crash on session save and lose
 their data because of an unhandled signal?

If user checks level 1 in ladish when starting the app, then ladish will
send SIGUSR1 to the app. If the app actually does not support level 1,
signal will be sent and chances are that default signal handler will be
executed. The default signal handler is to terminate the app.

 Or will ladish (and/or LADI) only attempt to notify via signal those
 applications that have registered with LADI in some way?  (i.e. level
 1 means aware of LADI but that's as far as it goes)

Applications cannot register themself yet. This will be possible in
future through fileds in the .desktop files. ladish will send SIGUSR1 on
save for apps that have been started with level 1 radio button selected
by user. For app level 1 means app will save its state when SIGUSR1 is
received. Level 0 means app is usable in ladish but user will have to
save manually the internal state (it it exists). All JACK apps are
supposed to work inladish out of the box at level 0. So far we've found
only one that doesnt, beatrix. The problem was caused by the inability
of beatrix to run with current directory different from the one where
the beatrix executable is. There is a context-less (because of the
license) patch for beatrix that fixes this problem.

The other problem with some apps is fail of connection restoration
for alsa seq ports. The problem is caused by alsa client name being
different each time. QSynth does this for example. This is issue only
with alsa seq clients. JACK clients work because they are associated
with the started app through the pid and not by name.

The alsa seq support in ladish relies on a2jmidid. ladish patches only
jack midi connections.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpIj3lMKkLh3.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Fri, Jan 8, 2010 at 11:00 AM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Chris Cannam can...@all-day-breakfast.com writes:
 What I mean is: if the user starts an application that has no
 knowledge of LADI at all, and they check the level 1 box in ladish, is
 that application then guaranteed to crash on session save and lose
 their data because of an unhandled signal?

 If user checks level 1 in ladish when starting the app, then ladish will
 send SIGUSR1 to the app. If the app actually does not support level 1,
 signal will be sent and chances are that default signal handler will be
 executed. The default signal handler is to terminate the app.

 That sounds rather hazardous to me.  To lose all of one's data instead
 of saving it, after a potentially long session's work, because of a
 check box incorrectly checked when starting the session, surely
 wouldn't please many users?

Please take a look at the video. You are wrong. The radio button is
selected when app is started for first time, not when session is
started.

 Applications cannot register themself yet.

 I think I must have misunderstood the use of D-BUS here, then.  I had
 thought that LADI was a D-BUS service which the application connected
 to, so that LADI would know whether an application was running in a
 LADI-aware state or not.

This is a myth. I've explained what D-Bus usage in ladish (and LASH) is
in a recent mail to this mailing list.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpDzuYBTETFB.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Fri, Jan 8, 2010 at 11:18 AM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Chris Cannam can...@all-day-breakfast.com writes:
 That sounds rather hazardous to me.  To lose all of one's data instead
 of saving it, after a potentially long session's work, because of a
 check box incorrectly checked when starting the session, surely
 wouldn't please many users?

 Please take a look at the video. You are wrong. The radio button is
 selected when app is started for first time, not when session is
 started.

 *boggle*

 OK... That sounds rather hazardous to me.  To lose all of one's data
 instead of saving it, after a potentially long session's work, because
 of a check box incorrectly checked when starting the application,
 surely wouldn't please many users?

And you are suggesting what?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpyJ8yZ9vVWY.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Fri, Jan 8, 2010 at 11:50 AM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Chris Cannam can...@all-day-breakfast.com writes:
 OK... That sounds rather hazardous to me.  To lose all of one's data
 instead of saving it, after a potentially long session's work, because
 of a check box incorrectly checked when starting the application,
 surely wouldn't please many users?

 And you are suggesting what?

 Uh, I think you've lost me a bit, Nedko.  What do I appear to be suggesting?

Mmmm, suggesting as proposing

 I'm just saying that it might not be such a good idea for a session
 manager to kill applications instead of saving them, when asked to
 save.  Especially if that decision is based on user input that
 happened a long time ago (so that the user may have done a lot of work
 since making their mistake, but before discovering it was a mistake).

What better alternative you propose? ladish will implement levels 2 and
3 in future.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpQmR6P8JASF.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
rosea grammostola rosea.grammost...@gmail.com writes:

 Nedko Arnaudov wrote:
   
 I'm just saying that it might not be such a good idea for a session
 manager to kill applications instead of saving them, when asked to
 save.  Especially if that decision is based on user input that
 happened a long time ago (so that the user may have done a lot of work
 since making their mistake, but before discovering it was a mistake).
 

 What better alternative you propose? ladish will implement levels 2 and
 3 in future.

   
 I understand the concern of Chris. All though I didn't make the mistake 
 yet when working with Ladish.

 Isn't it possible to popup some kind of warning message you've chosen 
 level 1, but this is not supported by this app
 Or another solution which helps the user not making this fault?

If ladish knows whether level 1 is really supporeted it wouldnt be
needed for user to specify it. Such warning message will be possible
when app (.desktop files) list is implemented. But i'd rather disallow
user to override the level from the UI, instead user can change the
.desktop file or override it with another one in the user specific
filesystem location.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpBuavwG1cJY.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 The procedural difficulty I suppose is that you're trying to get
 applications to take part in session management without having to get
 their authors to change them significantly to do so.  I can see why
 that's attractive, but the SIGUSR1 method is still a code change -- it
 still needs acceptance from developers, a new release of the
 application, c.  Meanwhile, it makes things risky for people who want
 to continue using applications that don't support it.

 For my part (and I realise I'm probably inviting the wrath of Fons and
 others here) I'd probably rather add some D-BUS or equivalent proper
 message receipt to the application and be done with it. So long as
 boilerplate code is readily available, that doesn't seem too painful.

Yes the goal is to have simple to implement state save message that
does not require additional libraries. Whether app developers will
implement it is of course their own decision. If their users want it
they will have to choose whether to please them or not. If their users
don't want it, and they don't like level 1, there is no reason to
implement support for it.

 The problem I have always had with most of the proposed LA session
 handlers is not so much doing the code as getting around to doing
 the code, which basically means understanding what the code was
 supposed to be in the first place -- and I suspect this problem is
 commonplace, particularly for something like LASH which has always
 seemed strangely demanding from the code point of view.

I dislike the LASH API too. But most importantly LASH requires apps to
link to liblash just to restore their connections. This is something
that I find... suboptimal.

 But, I have never tried using ladish and frankly the time taken to
 write this message is probably about as much as I can afford at the
 moment.  If I don't properly understand its goals, I'm probably just
 covering ground that you've already covered and reaching conclusions
 you've already rejected, and I apologise for that.

Maybe you can watch the video, it is less than 5 minutes long.

 (One idle thought is that any proper desktop application is going to
 have to handle session save already, for the desktop session manager.
 Can that be exploited?)

Desktop session handler traditionally relies on X11. The trend in
freedesktop (KDE, GNOME) is to use D-Bus as IPC instead. I'm not aware
of D-Bus desktop session manager. Probably, in future, ladish could act
as a desktop session manager (via D-Bus or X11) as it is not really
limited to JACK apps, it just has some nice features for
them. Interracting with the X11 window manager is within the scope of
the ladish project. In future, ladish aims to save/restore window
properties like window position, virtual desktop and screen
(multimonitor). That said, some window managers remember window
positions and their virtual desktop out of the box. Some have
configurable set of rules for positioning windows isntead.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpkXYEUL0jsB.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Gabriel M. Beddingfield gabrb...@gmail.com writes:

 Regarding LADI Level 1...

 In signal handler function, a global variable can be set to mark that
 save is needed. On next main loop iteration, the global variable is
 checked and eventually save is made.

 This totally confused me at first.  You're sending me a 
 UNIX signal... but then I'm supposed to answer back by 
 allocating a global variable?  How do I do that?

It is said set not allocate.

 I think what you mean is to indicate that saving doesn't 
 have to happen in realtime, but that it can happen (for 
 instance) as part of the program's normal event loop.  The 
 stuff about the global variable (or even an event loop) is 
 an implementation detail.

 I suggest the wording be changed to say something like this:

 The application, after receiving the signal, should
 save as soon as possible.  However, the saving does
 not have to happen in the signal-handler function
 itself.  (For example, you can push a 'Save Event' to
 your normal event loop.)

Good wording, thanks! I've updated http://ladish.org/wiki/level1

 Save of the internal state can be made in a fixed file path, but it is
 more useful to supply the file path through commandline. When
 starting, app loads its internal state from the file specified. When
 saving, app saves its internal state to the file specified.

 This is also confusing wording (to me).  Who is setting this 
 file path?  And the commandline??  I thought we were 
 handling a signal.

 May I suggest the following wording:

 The application is free to save state however it
 sees fit (e.g. saving files to a fixed file path).
 When the application is started, some means of
 restoring the state needs to be given to the user,
 preferably from the commandline.  For example,
 when the signal is received, the application will
 give a string id (such as a file path) to the
 user.  This id may then be used as a commandline
 argument to restore the state.

Good wording again, I've put it on the wiki page with the correction
that needs is replaced with could. There is no need, some apps
may want to operate on state in fixed location.

 I think this is a good idea (Nedko or whoever dreamed it 
 up), and I'm willing to add it to my applications.

What are your applications?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpNB4iTiEXY7.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Session Handlers and 'level 1' support

2010-01-08 Thread Nedko Arnaudov
Rui Nuno Capela rn...@rncbc.org writes:

 On Fri, 8 Jan 2010 09:35:01 +, Chris Cannam wrote:
 On Mon, Jan 4, 2010 at 12:03 PM, rosea grammostola wrote:
 When ladish studio is being saved, applications that are run at level
 1
 receive the SIGUSR1 UNIX signal.
 
 How does an application indicate that it intends to run at level 1?
 

 good question. i'll add another one:

 hacking a SIGUSR1 handler is dead-easy, i know, but... how one application
 gets to know which filename to load/save its state from/to in the context
 of ladish level 1 session ?

Use the current filename. If there is no current filename do what you
think is better, either show save as dialog or ignore the signal. Other
possibility is to allow supply of non-existent file path to be used for
first save in the app. Better make it non-default behaviour because it
is somewhat strange if you dont use ladish. I.e. user usually expects
start to fail if project file supplied at commandline does not exist.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp940FWNa0H7.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] [ANN] LADI Session Handler - Preview 2

2009-12-29 Thread Nedko Arnaudov
The second milestone is reached and result is a tarball that brave souls
may want to download and try. It can start apps and restore their
connections. Level 1 apps are supported.

Beware that no apps have implemented level 1 yet. If non-level-1 app is
started at level 1, it will probably quit on save, because the default
signal handler for SIGUSR1 terminates the process.

This preview also features a2jmidid support. Run the a2j script as an
app in the studio.

This is a beta quality software, use it with double caution.

I would like to thank the early adopters and especially Frank Kober for
their help with testing the git ladish code and for the valuable
suggestions they gave.

Build will produce three operational components:
 * ladishd - The daemon, a D-Bus service
 * gladish - GTK GUI interface
 * ladish_control - Command-line interface

In the tarball you will also find bundled:
 * flowcanvas-0.6.0
 * LADI Tools (svn version)
 * a2jmidid-6 (contains the a2j script for use in ladish)
 * jack2 from the ladi branch

The jack2 ladi branch contains fixes for two important issues:
 * Race that causes connection restore to fail sometimes during studio
   startup (http://ladish.org/ticket/28)
 * A deadlock on studio start (http://ladish.org/ticket/35)

Hopefully, these fixes with be in the next jack2 release (1.9.5).

The jack2 ladi branch also contains the no-self-connect changeset that
adds new engine option, for disabling self connect of apps. Default
value for this option is to allow self connections.

Make sure to configure jack2 with --dbus (and maybe with --classic too).

Download:
http://ladish.org/download/ladish-0.2.tar.bz2
http://ladish.org/download/ladish-0.2.tar.bz2.sig

Homepage: http://ladish.org/
Roadmap: http://ladish.org/roadmap

-
LADI Session Handler or simply ladish is a session management system
for JACK applications on GNU/Linux. Its aim is to allow you to have
many different audio programs running at once, to save their setup,
close them down and then easily reload the setup at some other
time. ladish doesn't deal with any kind of audio or MIDI data itself;
it just runs programs, deals with saving/loading (arbitrary) data and
connects JACK ports together. It can also be used to move entire
sessions between computers, or post sessions on the Internet for
download.

Project goals:
 * Save and restore sets of JACK (audio and MIDI) enabled
   applications.
 * Provide JACK clients with virtual hardware ports, so projects can
   be transfered (or backups restored) between computers running
   different hardware and backups. 
 * Don't require session handling library to be used. There is no need
   of such library for restoring connections between JACK clients.
 * Flow canvas based GUI. Positions of elements on the canvas are
   saved/restored.
 * Allow clients to use external storage to save its state. This
   includes storing internal state to non-filesystem place like memory
   of a hardware synth. This also includes storing client internal
   state (client project data) in a way that is not directly bound to
   ladish project. 
 * Import/export operations, as opposed to save/load. Save/load
   operate in current system and may cause saving data outside of
   project itself (external storage). Import/export uses/produces
   tarball suitable for transferring session data over network to
   other computer or storing it in a backup archive.
 * Hierarchical or tag-based organization of projects.
 * List of JACK applications. Applications are always started through
   ladish to have restored runtime environment closer to one existed
   before project save.
 * Distributed studio - network connected computers. Netjack
   configuration is part of the studio and thus is saved/restored.
 * Collaborate with the X11 window manager so window properties like
   window position, virtual desktop and screen (multimonitor) are
   saved/restored.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpK0uGpQ7r48.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jack_mixer, resp. PID in JACK client names in general

2009-12-28 Thread Nedko Arnaudov
Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 Pardon, I won't write so frequently. I compiled a lot of new apps and 
 started making music. Just a short request. Please coders, avoid using 
 the PID in JACK client names. I like to restore sessions automatically 
 by Qtractor or jack_snapshot. I like jack_mixer a lot, but can't use it, 
 because of the PID in the JACK client's name and there seems to be no 
 option to ban this behaviour.

Please submit a bug in the bugtracker.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpY4mWFtPuRq.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] [ANN] a2jmidid version 6 Indzhe Voyvoda released

2009-12-28 Thread Nedko Arnaudov
a2jmidid is a project that aims to ease usage of legacy ALSA sequencer
applications, in a JACK MIDI enabled system.

Homepage with screenshots: http://home.gna.org/a2jmidid/

Tarball download: http://download.gna.org/a2jmidid/

Changes since version 5:
 * MIDI processing improvements
 * Handle large number of ports
 * a2j script (non-dbus-like behaviour for dbus environment)
 * Allow tweaking through dbus of the hardware port export option
 * Fix a use of invalid memory
 * Fix port miss that can occur if port appears during bridge startup

Special thanks to Torben Hohn and Paul Davis for their recent work on
improving the a2jmidid code.

Indzhe Voyvoda was a renowned leader of an armed band of outlaws in
Ottoman-held Bulgaria. Eventually, he gave up robbing and began to
patronize the poor Bulgarian population.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpDXH3dRspt8.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LADI

2009-12-24 Thread Nedko Arnaudov
rosea grammostola rosea.grammost...@gmail.com writes:

 Nedko, is LADI an project of your own, or are you willing to collaborate 
 with other developers who might have interest in the project? Do I 
 understand it right that characteristics of LADI are still open for 
 discussion?

LADI is a project that I started about two years ago. While it is me
that is mainly driving it, it is not some kind of dictatorship. In past,
several devlopers have contributed code and even more users have
contributed ideas and provided feedback. Progress of the project brought
some well defined properties of the LADI system. While they can be
changed for sure, a large part of the involved people needs to
agree. As I, for good or bad, am playing the role of the leader of this
thing, I am responsible for decisions that affect the viability of the
LADI system. Hopefully this explains why my statements about some
subjects are so strong sometimes. It is good for the LADI project to
have more active developers. As a developer of this project, I've
collaborated with different people from the LAD community, and the
result was almost always good.

 Maybe it aint that bad to have two types of Session handlers for Linux. 
 The LADI approach and another approach without D-Bus. It's not bad to 
 have choice as user and maybe someone needs the features of LADI and 
 others features of more minimal session handlers.

It is always better to have more software to choose from. Unfortunately,
the reasons for so called competition in open source projects is often
working against users, because of the NIH (Not Invented Here) syndrome
and the SEP (Somebody Else's Problem) effect. I would really like to
beleive that I am wrong. And I would like LAD community to be less
stagnant and more open for new ideas and different perspectives.

 Till now, LADI seems to be the only project that has reach an status so 
 that it actually works and is useful for musicians. Other projects seems 
 to be ideas on paper, nothing practical useful yet.
 As a user I'm hoping that LADI will become an success, cause at the end 
 we really need an workable session handler. On the other hand I also 
 hope that people like Fons, Bob, Torben and David are able to release an 
 session handler without D-Bus. They have proven to have good ideas and 
 programming skills.

I also hope that this will happen. More software we have, more value
this community has. Lets favour software creation instead of busting
flame wars.

 I think it will be good to have as much as consensus and especially 
 collaboration as possible. It would be good if others join the LADI 
 project I think. But I can't say which project goals are somewhat close 
 to the LADI project goals. Someone said that Torbens ideas could be 
 implemented or used in LADI in some way maybe. Then it would be good 
 maybe, to have a good (privat) discussion between the developers (at 
 least Nedko seems to say he stands open for that).

Yes I am open, as long as it is not at cost of killing the whole
project. One of the other projects I've started, zynjacku, is an example
of how project direction has shifted without sacrificing the original
goals. And this shift happened because of the community. Zynjacku got
more improvements for LV2 plugins with static set of ports and custom
GUIs (like calf and invada plugins) than it got for dynparam generic
GUIs (the lv2zynadd plugin).

Весела Коледа
Merry Christmas
Joyeux Noël

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpkmDHKGy8Wh.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] LADI

2009-12-23 Thread Nedko Arnaudov
Bob Ham r...@bash.sh writes:

 On Tue, 2009-12-22 at 23:21 +0200, Nedko Arnaudov wrote:
 Hi Bob,
 
 thanks for commenting on LADI stuff
 
  The huge, major weak point that would prevent me from investing myself
  in LADI is the use of D-Bus which requires an extra, external layer in
  order to perform routing between objects on different buses.  See my
  previous mail on the subject here:
 
http://lalists.stanford.edu/lad/2009/11/0350.html
 
 From what Nedko has said on IRC, I believe LADISH has such a layer.
 
 D-Bus *can* span over multiple hosts.

 The main issue isn't whether D-Bus clients can connect to buses on a
 different host.  The main issue is whether D-Bus clients connected to
 one bus can send messages to objects on a different bus.

Applications can connect to multiple buses. Even applications that don't
interract with remote machines do it. There are two standard local
buses, the session bus and the system bus. Here is a screenshot of a
dbus application called d-feet that shows two buses connected:

http://www.j5live.com/wp-content/uploads/2007/12/d-feet-016-execute.png

 I was actually labouring under the impression that D-Bus as-is could
 cope with connecting to remote hosts because it uses sockets.  That this
 isn't the case is, in fact *another* problem with D-Bus.

 D-Bus clients can't send messages to objects on remote buses.  As-is,
 they can't even connect to buses on remote hosts.  Shocking.

I already replied to this:

http://lalists.stanford.edu/lad/2009/12/0296.html

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgptRE5h3zwD0.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] LADI

2009-12-20 Thread Nedko Arnaudov
Louigi Verona louigi.ver...@gmail.com writes:

 I am relatively new to linux audio, so I would be grateful if you would
 explain to me the benefits of modular environment.

Assuming that you mean modular environment in the sense of LADI as
opposed to the sense of plugins (LV2) in a single host, one of the
advantages is that with LV2 plugins, bad plugin will bring your whole
app down. With multiple JACK apps approach and a session handled, only
single JACK plugin crashes. You can still save the work, and even
restart (manually or automatically) the crashed JACK plugin.

This is not the case with some all-in-one applications for Windows. They
use SEH (Structured Exception Handling) to display warning to user and
recommend him to save his work and restsart the app. SEH patent expires
in 2016. Since Windows XP there seems to be something new, VEH (Vectored
Exception Handling) that is also patented, expires in 2023.

I'm not aware of exception handling alternative for Linux.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpha3oCVY8BM.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] LADI user question

2009-11-26 Thread Nedko Arnaudov

Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 Hi Nedko :)

Hi Ralf

 today I tried to compile LADI, but it failed for openSuse 11.2 x86_64
 and 64 Studio 3.0-beta3 x86_64. Please take a look at the attachments.

[snip configuring and compiling ladish stuff]

 [ 4/41] cc: jack_proxy.c - build/default/jack_proxy_1.o
 cc1: warnings being treated as errors
 ../jack_proxy.c: In function вЂ.jack_proxy_set_parameter_value’:
 ../jack_proxy.c:588: error: вЂ.type’ may be used uninitialized in this 
 function
 Waf: Leaving directory `/usr/src/ladish-0.1/build'
 Build failed
  - task failed (err #1): 
   {task: cc jack_proxy.c - jack_proxy_1.o}

This is an problem that I only recently got aware of. I saw it when I
switched to gentoo and shortly after, I got reports from users. It seems
to happen only for some gcc or something. You reported that it builds
fine on 64 Studio 3.0-beta3 and someone else reported that it builds
fine on Debian lenny. Those warnings (treated as errors) are fixed in
git and I've made a patch (attached) against ladish-0.1 too.

Next preview release of ladish will not treat warnings as errors.

[snip configuring and compiling flowcanvas with warnings]

It looks that flowcanvas is incuding headers in wrong order or
something. These warnings can be ignored without any harm and as long as
it compiles and flowcanvas is maintained externally, there is no urge
for me to fix them.

diff -ru ladish-0.1.orig/daemon/studio.c ladish-0.1/daemon/studio.c
--- ladish-0.1.orig/daemon/studio.c	2009-08-31 04:17:50.0 +0300
+++ ladish-0.1/daemon/studio.c	2009-11-20 01:59:08.0 +0200
@@ -872,7 +872,7 @@
   char * p;
   const char * src;
   char * filename_ptr;
-  char * backup_filename_ptr;
+  char * backup_filename_ptr = NULL;
 
   len_dir = strlen(g_studios_dir);
 
Only in ladish-0.1/daemon: studio.c~
diff -ru ladish-0.1.orig/jack_proxy.c ladish-0.1/jack_proxy.c
--- ladish-0.1.orig/jack_proxy.c	2009-08-27 23:01:58.0 +0300
+++ ladish-0.1/jack_proxy.c	2009-11-20 01:58:36.0 +0200
@@ -585,7 +585,7 @@
 value_ptr = boolean;
 break;
   default:
-lash_error(Unknown jack parameter type %i, (int)type);
+lash_error(Unknown jack parameter type %i, (int)parameter_ptr-type);
 return false;
   }
 

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpgT5CDsXeDV.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] LADI

2009-11-22 Thread Nedko Arnaudov

Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 I don't know what exactly it can handle. Which apps can be handled by 
 LADI? What needs to be set up for the apps? In other words, will it 
 really handle a session or just some points of a session? I once tested 
 LASH and it wasn't able to handle anything I need. Without much 
 knowledge about writing shell scripts, I'm able to launch wanted apps 
 and restore connections, not the perfect way I would like to have, e.g. 
 because I still need to place the windows, but without trouble, while 
 e.g LASH does not do this this job, maybe because I missed to google for 
 hours to learn the basics about LASH.

Currently it is not yet able to manage sessions at all. What it can is
everything else (from the list i've mentioned) except the port
virtualization stuff that I plan to implement in ladish. It will be able
to relaunch apps, and connect their ports. It will (and already is) able
to do some other related stuff.

 Are there packages or do I have to compile it by solving a dependency hell?

I guess, this depends on the distro you use. I recently suitched to
gentoo and I made ebuilds for it. In past I've contributed jack2,
laditools and lash-0.6.x deb packages to ubuntustudio team.

 How will it handle a session when some audio apps tend to crash on my 
 machine? Will this cause trouble for LADI? Is LADI some kind of program 
 that will run during the session or will it just run similar to a shell 
 script just to launch and restore a set up, resp. just when saving a set 
 up? When using a session handler, will it be possible that an app that 
 normally is stable, become unstable?

It will handle them nicely. It will display notification that app crash
was detected and will ask you whether to relaunch it, unless you want it
never or always to do so (user configurable option). When relaunched
jack ports associated with the application will get reconnected and its
internal state will get restored (given that app has internal state and
supports restoration of internal state). Internal state and connections
will be restored from the last saved snapshot.

 I'm willing to give LADI a chance and try to add it to my 64 Studio 
 3.0-beta3 x86_64 and openSUSE 11.2 x86_64.
 I'm willing to spend some hours to google and read about LADI.

 *But*

 I'm not willing to troubleshoot any problems, if it would make handling 
 my sessions more difficult, than it would be without a, resp. this 
 session handler.

 I guess I can try to add LADI this week to my Linux installs :).

LADI is still not able to do session management. ladish can do jack
multiconfig however. laditools allow you quite a lot of things regarding
JACK monitoring and management. Currently LADI is [mostly] tested by me
only. If you are affraid of being early adopter, you should probably not
do test it until contributions of other early adopters make it more
suitable for you.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpgF9RV7V3vo.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] LADI

2009-11-20 Thread Nedko Arnaudov
 that this attempt was probably wrong, with the only excepton of
jack2 (Stephane Letz) who accepted my jackdbus development into jack2
and we worked toghether on improving it and on the more general
control API initiative. The jackdbus code, my first contribution, that
is supposed to improve this mess was rejected by Paul Davis whom
maintains jack1. I've got some patches accepted by Patchage`s
author and maintainer, Dave Robillard, but they were rather cosmetic
ones. This forced me to maintain a software branch (Dave calls it a
fork) called lpatchage. It was supposed to be dashboard for the JACK
system. I also actively participated in lash-0.6.x development. The only
other developper, Juuso Alasuutari, shared some of my ideas, but at the
end we ended with fundamental differences about how session handling
should behave and what lash should become.

As part of my LADI efforts, two people where very helpful. Marc-Olivier
Barre and I managed to create pyjackctl, later renamed to laditools. It
is set of minimalistic but very useful control apps for JACK, a2jmidid
and LASH/ladish. Krzysztof Foltman helped a lot with probably the most
complex app in the laditools suite, ladiconf.

I'd like to mention people with whom collaboration, even if attempted by
me was non-existing: Rui Nuno Capela and Bob Ham. They clearly declared
From start that wont help for various reasons and I appreciate
this. Because this saved my precious time of part-time contributor to
Linux Audio.

In May/June this year, Fons Andriaensen got hit by a forcibly packaged
jackdbus (i'd call it mispackaging of jack) and started a flame war
against D-Bus evilness. I tried to be constructive until I got message
From the packager that dbus was forced, even given that he earlier
stated that he explicitly enabled dbus support in that package for one
reason or another.

In June this year, it become evident that I'm not able to contribute to
LASH anymore and that I want something else. I left the LASH project and
started a new session manager, ladish (project page is at ladish.org).
The first preview was released not long after. It was not yet a real
session manager but it was able to save and restore multiple jack
configs, a foundation for what I call studio in ladish. Since then
I've implemented some more stuff and I was hoping that next preview that
will be able to relaunch applications and restore connections between
their jack ports will be ready by the end of this year.

In recent few months, I had less time to contribute to ladish and
development slowed. The anti-dbus statements from various people
continued almost always without real argumentation behind them. For
these that were complains about dbus problems in real setups, I've given
suggestions. Almost always I got ignorace and more anti-dbus statements
in return. Maybe what I did is really unusable by others, despite
it being obviously usable by me. Maybe I suck at trying to help  support
people who seem to think that ladi is not that bad. Or maybe D-Bus
is indeed evil and eats babies and I fail to understand why, even after
I've listen to so many arguments. Or maybe there are happy people
using jackdbus and laditools (or even lash-0.6.x) and looking toward
ladish. But I dont see them. If community does not share my frustration
with problems of the JACK system I mentioned above and does not accept
my vision that D-Bus is just the most suitable (but not perfect)
technology for what I'm trying to achieve, then it would be better for
everybody if I don't contribute anymore. I can detach from the community
and I can even detach from linux and even computers.

So now is the time to give your positive feedback and constructive
critics. Don't troll and don't start another flame war unless your goal
is to alienate me to stage of me detaching from this community. I will
not respond to trolish and flamish mails, feel free to contact me
with private mails if you prefer so. As I'm cross posting this mail, if
you are subscribed to more than one of the mailing lists, please reply
only to one of them. In order of preference, lad, lau, jack-devel. This
should avoid discussions half-shared between lists. If they happen at
all.

This mail is not supposed to be offensive to anyone. If someone feels
so, I declare that offense is not intentional. I don't deny the right of
different opinion on any subject and thus I have no reason to burn
witches.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpVkLfzd3D79.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Undesirable float detector ?

2009-11-11 Thread Nedko Arnaudov
f...@kokkinizita.net writes:

 Hello all,

 Did anybody ever write a utulity to detect or count
 denormals, NaN, Inf, etc. in a Jack stream ?

JACK bitscope

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpijkDivnFTW.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Undesirable float detector ?

2009-11-11 Thread Nedko Arnaudov
Nedko Arnaudov ne...@arnaudov.name writes:

 f...@kokkinizita.net writes:

 Hello all,

 Did anybody ever write a utulity to detect or count
 denormals, NaN, Inf, etc. in a Jack stream ?

 JACK bitscope

That is now renamed to JACK Bitmeter

http://users.ecs.soton.ac.uk/njl98r/code/audio/

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpMRwkwmuId2.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-09 Thread Nedko Arnaudov
Nedko Arnaudov ne...@arnaudov.name writes:

 zynjacku-5 (synth host):

 rtmempool - http://home.gna.org/lv2dynparam/rtmempool/v1
 uri_map - http://lv2plug.in/ns/ext/uri-map
 event ports - http://lv2plug.in/ns/ext/event
 dynparams - http://home.gna.org/lv2dynparam/v1
 contexts - http://lv2plug.in/ns/dev/contexts
 msgcontext - http://lv2plug.in/ns/dev/contexts#MessageContext
 stringport - http://lv2plug.in/ns/dev/string-port#StringTransfer
 progress - http://lv2plug.in/ns/dev/progress
 external_ui - http://lv2plug.in/ns/extensions/ui#external
 gtk_ui - http://lv2plug.in/ns/extensions/ui#GtkUI;
 dynmanifest - http://naspro.atheme.org/rdf/old-dman#DynManifest

As Gabriel spotted, I've missed some obvious extensions:

midi_event - http://lv2plug.in/ns/ext/midi#MidiEvent
midi_port - http://ll-plugins.nongnu.org/lv2/ext/MidiPort

midi_port is deprecated, midi_event should be used for new plugins.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpZWo77llvBv.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-09 Thread Nedko Arnaudov
David Robillard d...@drobilla.net writes:

 On Mon, 2009-11-09 at 23:46 +0200, Nedko Arnaudov wrote:
 Thorsten Wilms t...@freenet.de writes:
 
  Hi!
 
  So here's a preliminary zynjacku.ttl attached.
 
  I would really like to see
  http://lv2plug.in/ns/dev/host-info#sinceVersion
  used, but that would be left to Nedko in this case. Or a source/release
  archaeologist. Though, there's a question: one ttl per host, or per host
  version? 
 
 I already have zynjacku.rdf that is an application/xml+rdf
 I dont want to maintain two versions of almost same metadata.
 rapper cannot convert properly between the two.

 Of course it can.  Why not?

It changes the order ot triples. I agree that it should not matter and
tools should be smarter. Still this does not solve the problem.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpHAAJM7NB7A.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-09 Thread Nedko Arnaudov
David Robillard d...@drobilla.net writes:

 On Tue, 2009-11-10 at 00:25 +0200, Nedko Arnaudov wrote:
 David Robillard d...@drobilla.net writes:
 
  On Mon, 2009-11-09 at 23:46 +0200, Nedko Arnaudov wrote:
  Thorsten Wilms t...@freenet.de writes:
  
   Hi!
  
   So here's a preliminary zynjacku.ttl attached.
  
   I would really like to see
   http://lv2plug.in/ns/dev/host-info#sinceVersion
   used, but that would be left to Nedko in this case. Or a source/release
   archaeologist. Though, there's a question: one ttl per host, or per host
   version? 
  
  I already have zynjacku.rdf that is an application/xml+rdf
  I dont want to maintain two versions of almost same metadata.
  rapper cannot convert properly between the two.
 
  Of course it can.  Why not?
 
 It changes the order ot triples. I agree that it should not matter and
 tools should be smarter. Still this does not solve the problem.

 What tool actually cares about this?

I use this plugin:
https://addons.mozilla.org/en-US/firefox/addon/3886

It displays doap through http://sparql.captsolo.net/browser/browser.py

Compare 
http://sparql.captsolo.net/browser/browser.py?url=http%3A//home.gna.org/zynjacku/zynjacku.rdf
with
http://sparql.captsolo.net/browser/browser.py?url=http%3A%2F%2Fnedko.arnaudov.name%2Fzynjacku.rdf

The later one is generated from turtle. At first glance it looks that
rapper sorts the entries.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpi9DIugshJv.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-09 Thread Nedko Arnaudov
David Robillard d...@drobilla.net writes:

 Some random web tool having a crappy output layout format is hardly the
 fault of LV2, raptor, Turtle, or anything else but that tool, obviously.

Yes, I got that the tool I use is crappy. How ignoring the problem
solves it? I havent said that it is LV2 fault. I complained about
evident turtle/xmlrdf schism. And I declared that I dont want to
participate in web 2.0 wars. I have better things to do.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpbUTvhlI06X.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-09 Thread Nedko Arnaudov
David Robillard d...@drobilla.net writes:

 On Tue, 2009-11-10 at 00:41 +0200, Nedko Arnaudov wrote:
 David Robillard d...@drobilla.net writes:
 
  Some random web tool having a crappy output layout format is hardly the
  fault of LV2, raptor, Turtle, or anything else but that tool, obviously.
 
 Yes, I got that the tool I use is crappy. How ignoring the problem
 solves it? I havent said that it is LV2 fault. I complained about
 evident turtle/xmlrdf schism. And I declared that I dont want to
 participate in web 2.0 wars. I have better things to do.

 I don't know.  Perhaps there is a better visualizer out there?  If you
 are attached to this thing and consider it important (for some reason I
 really don't understand) then just maintain the document in a way that
 works well with it and automatically convert to turtle, instead of the
 other way around.

 As far as the 'schism' goes, turtle is a W3C 'team submission' now, on
 track to be a recommendation with a registered MIME type and all that.
 Support is pretty widespread, and increasing.  It's not really a schism,
 absolutely everybody despises the mess that is rdf/xml ;)

Thanks for being constructive. I've used doap:implements to link project
with host applications. Is it appropriate? Here is the output of rapper,
contains some strange stuff but the host-info seems to be fine.

http://svn.gna.org/viewcvs/*checkout*/zynjacku/website/zynjacku.ttl?rev=203

If this ttl is suitable for use in the extension matrix, I'll dig the
changelog and describe extension support changes though releases.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpP4rbhL5OBO.pgp
Description: PGP signature
___
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 Nedko Arnaudov

Here is what should be (IMO) with current extension list (as i know it):

Gabriel M. Beddingfield gabr...@teuton.org writes:

 FOR SYNTH HOSTS:
 

 If you follow these guidelines, you may call yourself an LV2 Synth Host 
 and you will be able to work cleanly with every synth that calls itself an 
 LV2 Synth Plugin.

+ Support (at least) extensions A, B, and C.

 * the MIDI event extension
 * the Event port extension
 * the URI map extension
 * the external UI extension

GTK hosts must support the GTK UI extension

+ The synths will have several MIDI input ports (for note data)
  and several audio output ports.
+ All configuration will be done with the events extension.
+ All feedback will be done with the events extension.


currently, parameter ports and monitor control (float) ports are
supposed to be used for this. event ports could be used for parameter
and monitor events but i'm not aware of someone using them for this
purpose.

+ The plugins may provide a GUI interface.  Its width will be
  200, 400, 600, or 800 pixels.  Its height will be a multiple
  of 100 pixels.

I don't get why such restriction is needed.



 FOR SYNTH PLUGINS:
 --

 If you follow these guidelines, you may call yourself an LV2 Synth 
 Plugin and you will be able to work cleanly with every host that calls 
 itself an LV2 Synth Host.

+ Freely use extensions A, B, and C.  If you use any extra
  LV2 extensions, try to make them optional.  Otherwise,
  please simply call yourself an LV2 Plugin, because you
  won't work with every LV2 Synth Host.

Plugin author can assume that these are available:
 * the MIDI event extension
 * the Event port extension
 * the URI map extension

Plugin author can assume that one of these are available:
 * the external UI extension (toolkit agnostic, always a window)
 * the GTK UI extension (gtk specific, may be embeded)

+ Provide several MIDI in-ports for note data, and several
  audio out-ports.
+ All configuration will be done with the events extension.
  (This does not prohibit you from also doing the same over MIDI)
+ All feedback will be done with the events extension.
+ You are encouraged to create a GUI for your plugin.  Its
  width shall be 200, 400, 600, or 800 pixels.  Its height
  shall be a multiple of 100 pixels.

See comments for matching guidines for hosts above.


UI extensions are of course optional but hosts will handle this
gracefully anyway, as defined by LV2 itself. I.e. if plugin provides no
GUI, then host will probably use generic one (prefered) or will not
allow parameter tweak. If host does not support these GUI extensions, it
will not show the GUIs. That said, most users expect plugins to have
GUIs, and GUIs running on same host as the DSP code.

Some words about the GUI extension problems. If we want (we do, right?)
wider adoption of LV2, GUIs must be toolkit agnostic and at least C++
SDK must be provided. External UI may not be perfect but IMO (obviously)
it is the best we have in this direction. The GTK extension could be
supported automagically if plugin author inherits its GUI class from the
GTK plugin GUI base class.

proposed class hierarchy:

   lv2_plugin_base
  / \
 /   \
/ \
   /   \
lv2_synth_plugin   lv2_effect_plugin
 | |
  mysynth   myeffect

lv2_plugin_base implements the base lv2 plugin functionality
lv2_synth_plugin implements the lv2 synth functionality
lv2_effect_plugin implements the lv2 effect functionality

  lv2_ui_base
  /\
 /  \
/\
lv2_gtk_ui_base  lv2_external_ui_base
\ /   |   \
 \   /|\
  \ / | \
   \   /  |  \
\ /   |   \
   lv2_gtk2_gui   lv2_qt4_gui lv2_fltk2_gui
| ||
  mygtkui   myqtui  mygltkui

lv2_ui_base implements the base UI extension
lv2_gtk_ui_base implements the GTK variant of the UI extension
lv2_external_ui_base implements the external variant of the UI extension
lv2_gtk2_gui implements the base functionality of a GTK GUI
lv2_qt4_gui implements the base functionality of a QT4 GUI
lv2_fltk2_gui implements the base functionality of a FLTK2 GUI

Current problems with the UI extension (both gtk and external variants):
 * there is no easy way for UI to know the sample rate
 * it is incompatible with lv2core revision 3

If new UI extension is designed, it should probably use event
ports. When the original UI extension was designed, event port extension
was not avialable.

Of course, others are free to disagree.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpwkLdhtWjBj.pgp
Description: PGP signature

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

2009-11-08 Thread Nedko Arnaudov
Gabriel M. Beddingfield gabr...@teuton.org writes:

 Thanks Nedko

 On Sun, 8 Nov 2009, Nedko Arnaudov wrote:
+ Support (at least) extensions A, B, and C.

 * the MIDI event extension
 * the Event port extension
 * the URI map extension
 * the external UI extension

 What about the dynparam extension?  That seems appropriate to require from 
 a synth host.

It seems to be quite unpopular. As for Ingen+zynadd, the biggest problem
is how Ingen will handle 100+ parameter ports. If they are all
automatable, of course.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgptBHFliNxst.pgp
Description: PGP signature
___
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 Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Sun, Nov 8, 2009 at 6:59 PM, David Robillard d...@drobilla.net wrote:
 On Sun, 2009-11-08 at 17:46 +, Chris Cannam wrote:
 likely there is a way to make this work

 Yay

 , though obviously not with the
 existing GTK UI extension.

 Why not?

 Because it passes a GTK window, doesn't it?  (Doesn't it?)  Which has
 no meaning anywhere except GTK.

It passes GTK *widget*.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpRSaUYfF8g0.pgp
Description: PGP signature
___
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 Nedko Arnaudov
David Robillard d...@drobilla.net writes:

 Easy documentation about which hosts support what is indeed useful, but
 you can't come up with a consensus about what hosts should support.
 They should support everything ;)

 It's what they DO support that matters.  There's been far, far, far too
 much yapping about this on the list at this point.  Yes, we need a
 compatibility matrix or something along those lines.  Everyone agrees.
 There is really no need to continually state it.

 SOMEONE MAKE ONE ON THE DAMNED WIKI THEN

 The problem is simply a lack of documentation.  The solution is to write
 it.  There is certainly no utility in complaining about these problems
 at this point.  Those who can do, those who can't complain.

 Since there seem to be several people who are really, really into this
 problem solve it already.  Using mediawiki is not difficult.

IMO, it is much more appropriate to provide this information primary at
the plugin/host web sites. Providing it at lv2plug.in site is nice but I
doubt it will be the place where ppl will look first. Also please note
that this can be integrated at apps.linuxaudio.org.

IMHO, the two basic questions that user will have are:

1. Will the plugin X that I use a lot work on host Y that I want to try?
2. Will the host W that I use a lot work well with the plugin Z I've found?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpDwVihvBW4C.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] List of LV2 hosts, plugins and features, add yours here

2009-11-08 Thread Nedko Arnaudov

zynjacku-5 (synth host):

rtmempool - http://home.gna.org/lv2dynparam/rtmempool/v1
uri_map - http://lv2plug.in/ns/ext/uri-map
event ports - http://lv2plug.in/ns/ext/event
dynparams - http://home.gna.org/lv2dynparam/v1
contexts - http://lv2plug.in/ns/dev/contexts
msgcontext - http://lv2plug.in/ns/dev/contexts#MessageContext
stringport - http://lv2plug.in/ns/dev/string-port#StringTransfer
progress - http://lv2plug.in/ns/dev/progress
external_ui - http://lv2plug.in/ns/extensions/ui#external
gtk_ui - http://lv2plug.in/ns/extensions/ui#GtkUI;
dynmanifest - http://naspro.atheme.org/rdf/old-dman#DynManifest


lv2rack-5 (effect host):

rtmempool - http://home.gna.org/lv2dynparam/rtmempool/v1
dynparams - http://home.gna.org/lv2dynparam/v1
contexts - http://lv2plug.in/ns/dev/contexts
msgcontext - http://lv2plug.in/ns/dev/contexts#MessageContext
stringport - http://lv2plug.in/ns/dev/string-port#StringTransfer
progress - http://lv2plug.in/ns/dev/progress
external_ui - http://lv2plug.in/ns/extensions/ui#external
gtk_ui - http://lv2plug.in/ns/extensions/ui#GtkUI;
dynmanifest - http://naspro.atheme.org/rdf/old-dman#DynManifest


Notes:
 * For both zynjacku and lv2rack, dynparams and rtmempool (currently
   part of dynparams) extensions are available only if configure
   detected them.
 * Dynmanifest support in version 5 (and maybe even for latest git) is
   for an old version of dynmanifest.
 * The context, msgcontext and stringport extension support may be
   suboptimal. It was introduced in order to support calf plugins.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgph4ivTpAOI4.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] dynmanifest, was Re: List of LV2 hosts, plugins and features, add yours here

2009-11-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Sun, Nov 8, 2009 at 8:57 PM, Stefano D'Angelo zanga.m...@gmail.com wrote:
 2009/11/8 Nedko Arnaudov ne...@arnaudov.name:
  * Dynmanifest support in version 5 (and maybe even for latest git) is
   for an old version of dynmanifest.

 Git version is for the current version ;-)

 What is dynmanifest?  I can't see it in the wiki.

 (changing subject line to avoid polluting thread)

http://lv2plug.in/ns/dev/dyn-manifest.lv2/dyn-manifest.html

(first hit in google)

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgps7P9h20o6i.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] dynmanifest, was Re: List of LV2 hosts, plugins and features, add yours here

2009-11-08 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Sun, Nov 8, 2009 at 9:03 PM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Chris Cannam can...@all-day-breakfast.com writes:
 On Sun, Nov 8, 2009 at 8:57 PM, Stefano D'Angelo zanga.m...@gmail.com 
 wrote:
 2009/11/8 Nedko Arnaudov ne...@arnaudov.name:
  * Dynmanifest support in version 5 (and maybe even for latest git) is
   for an old version of dynmanifest.

 Git version is for the current version ;-)

 What is dynmanifest?  I can't see it in the wiki.

 (changing subject line to avoid polluting thread)

 http://lv2plug.in/ns/dev/dyn-manifest.lv2/dyn-manifest.html

 (first hit in google)

 I see.  I understand from this that it's a dynamic manifest generator.

 What is a dynamic manifest generator?

NASPRO presents (or will present) LADSPA/DSSI/VST plugins as LV2 plugins.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpjaZkP6STyl.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] remote dbus and ladish. Was: gets confused when used through ssh -X

2009-11-01 Thread Nedko Arnaudov
Patrick Shirkey pshir...@boosthardware.com writes:

 I don't see much point of storing a local copy of a ssh tunneled config 
 file. If you are tunnelling the config file should be accessed from the 
 remote machine. It's different if you are using multiple qjackctls on 
 the same desktop and connecting to local jackd instance/s as well as 
 netjack'd instances on remote machines. That seems like a heavy deal and 
 as Nedko has mentioned previously it can actually be managed by the LADI 
 tools now although that requires running dbus too which is not to 
 everyones liking.

Yesterday, I've booted my wife`s windows machine from an Ubuntu LiveCD
and made some remote dbus tests. There are two options to initiate this
through ssh.

The first one is to start socat[1] at both sides and use tcp for
connecting them:

dbus app - unix socket - socat - tcp over ethernet - socat - unix 
socket - dbus daemon - dbus app

The other one is to use gabriel [2] at client side. Gabriel uses libssh
[3] to setup socat remotely and tunnels the dbus traffic over ssh
tunnel:

dbus app - unix socket - gabriel - ssh over ethernet - socat - unix 
socket - dbus daemon - dbus app

Gabriel`s approach is of course better in long term, because dbus
traffic is encrypted and because it sets remote part automatically. Bad
news about gabriel is that last commit is from February 2007, it needs a
patch to work with latest libssh (0.3.4) and it allows only one client
to use the local unix socket.

Both approaches have restriction because of the EXTENRAL dbus
authentication mechanism. That mechanism sends unix user id and it is
matched remotely. So in order remote dbus to work, uids should be
same. Of course this is lame and I already have plan for this: the
client side (gabriel/ladish), can get the remote uid through ssh and
change the uid token.

Plan for the remote capable ladish is to take the gabriel`s
approach. Requirements for the remote (aux) hosts will be - ssh server,
dbus, jackdbus and socat. Requirements for the local (central) host will
be ssh client, libssh, dbus, jackdbus, ladish. ladish will provide dbus
service that will act as manager for remote dbus connections. Such
service could be reused for other remote dbus purposes and as such could
be a separate project (or could be made as part of gabriel).

Multihost ladish is planned for the 2.0 release and wont happen anytime
soon unless someone with high motivation steps to work on this.

I'd like to ask users of multiple-jack-servers-on-same-host (Fons?) to
explain what it is used for and how it works. As I personally dont use
such setup I can't make ladish suitable for such setups without
feedback. Same applies for remote jack management and netjack but I've
gathered some knowledge because of the obvious netjack popularity.

[1] http://www.dest-unreach.org/socat/
[2] http://gabriel.sourceforge.net/
[3] http://www.libssh.org/

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpz9dV31Gjsh.pgp
Description: PGP signature
___
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 Nedko Arnaudov
Gabriel M. Beddingfield gabr...@teuton.org writes:

 Hi guys,

 I'm looking to delve into the world of plugins (for both synth and fx), 
 and of the free API's I find LADSPA, DSSI, and LV2.  But the picture is a 
 little confusing.

 It appears that LV2 is current, that DSSI is deprecated, and that LADSPA 
 would be deprecated if it weren't so widely adopted.  However, LV2 is slow 
 in being adopted.  Is this developer resistance... or is it just too new?

I think both. 

 Also, I can't find any applications that will host all 3, nor even 
 LV2+DSSI.  Is there a technical reason for this?

No. OTOH naspro acts as wrapper that presents ladspa and dssi plugins in
lv2 world.

LV2 covers most if not all features of LADSPA and DSSI but LV2 still
misses some important extensions (presets, binary state save/store) that
makes it inferior when compared to well established stuff like VST. I
think this is one of the reasons of low adoption. The other is that it
is just too new (as in not enough plugins/hosts). As it is an open
source community project and not driven by an enterprise, its
development is slow when community is small and somewhat apathic.

Other ppl involved in LV2 stuff may disagree of course.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpsKZFdxo7Dj.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [LAU] [ANN] LADI Session Handler - Preview 1

2009-09-02 Thread Nedko Arnaudov
Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 I welcome ladish, but most of the times I would like to have a
 Linuxsampler DSSI, a Hydrogen DSSI etc. ;).

You prefer DSSI over LV2? In recent years I've spent lot of time on both
JACK session handling problem and LV2. The two technologies have
something in common and have their pros and cons. I think that both are
needed. JACK plugins (apps in session handling environment) provide better
separatation and allow the developer to do more tricks, it is the more
flexible. LV2 plugins provide less overhead, better match the plugin
image in users`s heads, but are more restricte. The LV2 GUI problem is
especially bad, it slows LV2 adoption because hosts and plugins need to
use same GUI toolkit. LV2 External UI extension maybe will fix this,
time will tell. Maybe JACK plugins are more viable than LV2
plugins. After all we have more JACK mini-apps than complex
LV2+DSSI+LADSPA plugins.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpscJZEOpirH.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] LADI Session Handler - Preview 1

2009-09-01 Thread Nedko Arnaudov

The first milestone is reached and result is a tarball that brave souls
may want to download and try. It contains implementation of JACK
multiconfig functionality. JACK server settings can be saved as part of a
studio. Then, loading studio will cause JACK settings stored as part of
the studio to be restored.

Build will produce three operational components:
 * ladishd - The daemon, a D-Bus service
 * gladish - GTK GUI interface
 * ladish_control - Command-line interface

In the tarball you will also find bundled suitable (latest and gratest)
flowcanvas and LADI Tools.

Download:
http://ladish.org/download/ladish-0.1.tar.bz2
http://ladish.org/download/ladish-0.1.tar.bz2.sig

Homepage: http://ladish.org/
Roadmap: http://ladish.org/roadmap

-
LADI Session Handler or simply ladish is a session management system
for JACK applications on GNU/Linux. Its aim is to allow you to have
many different audio programs running at once, to save their setup,
close them down and then easily reload the setup at some other
time. ladish doesn't deal with any kind of audio or MIDI data itself;
it just runs programs, deals with saving/loading (arbitrary) data and
connects JACK ports together. It can also be used to move entire
sessions between computers, or post sessions on the Internet for
download.

ladish has GUI frontend, gladish, based on lpatchage (LADI Patchage)
and the ladish_control command line app for headless operation. LADI
Tools is set of apps that interface with ladish, JACK server and
a2jmidid

ladish requires D-Bus and JACK compiled with D-Bus support.

LADI Session Handler is rewrite of LASH.

Project goals:
 * Save and restore sets of JACK (audio and MIDI) enabled
   applications.
 * Provide JACK clients with virtual hardware ports, so projects can
   be transfered (or backups restored) between computers running
   different hardware and backups. 
 * Don't require session handling library to be used. There is no need
   of such library for restoring connections between JACK clients.
 * Flow canvas based GUI. Positions of elements on the canvas are
   saved/restored.
 * Allow clients to use external storage to save its state. This
   includes storing internal state to non-filesystem place like memory
   of a hardware synth. This also includes storing client internal
   state (client project data) in a way that is not directly bound to
   ladish project. 
 * Import/export operations, as opposed to save/load. Save/load
   operate in current system and may cause saving data outside of
   project itself (external storage). Import/export uses/produces
   tarball suitable for transferring session data over network to
   other computer or storing it in a backup archive.
 * Hierarchical or tag-based organization of projects.
 * List of JACK applications. Applications are always started through
   ladish to have restored runtime environment closer to one existed
   before project save.
 * Distributed studio - network connected computers. Netjack
   configuration is part of the studio and thus is saved/restored.
 * Collaborate with the X11 window manager so window properties like
   window position, virtual desktop and screen (multimonitor) are
   saved/restored.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpPOI3pIiVm3.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [LAU] [ANN] LADI Session Handler - Preview 1

2009-09-01 Thread Nedko Arnaudov
Julien Claassen jul...@c-lab.de writes:

 Hello Nedko!
   I've just got ladish and I'm installing it. I've looked into the
 requirements. I see there's a lot of GUI and GUI-related, which seems
 to be required. My question: Could you consider making as much as
 possible of the GUI-stuff optional. I don't have and I don't need any
 GUI, so I need to install quite a bit. In any case, the daemon itself
 doesn't require it, so does the minimum user tool (ladi_control).

Making GUI stuff optional is perfectly possible and I like the idea. Do
you want to make a patch (or git commit somewhere) for this?

the command-line tool is called ladish_control not ladi_control

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpM7kSWV9shj.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [LAU] [ANN] LADI Session Handler - Preview 1

2009-09-01 Thread Nedko Arnaudov
Julien Claassen jul...@c-lab.de writes:

 Hello Nedko!
   Now I've come up against a wall, which I don't want to climb.
   It's all to do with GUI-toolkits and their relatives. Especially
 flowcanvas. I dearly hope and plea for the feature, to optionalise the
 GUI-parts. Flowcanvas seems to require something ese, which is
 tedious. Because now I could go on installing ad nauseam, without
 getting anywhere in a short while.
   Well you might say, that I'm a special case, being blind, having no
 graphic. But I think this might hit other people as well. People with
 other main-GUI-toolkits or other commandline friends, and there are
 some.
   I'd be glad to know, if you're so far along on your way, that you
 seperated the GUI parts from the real thing.
   Kindest regards
  Julien

GUI (gladish) and the real thing (ladishd) are really separated. Later
today I'll try to modify the waf build script to support GUI-less
build. Here is a ticket for you: http://ladish.org/ticket/10

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpxFIjb7nYxZ.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [LAU] [ANN] LADI Session Handler - Preview 1

2009-09-01 Thread Nedko Arnaudov
Jörn Nettingsmeier netti...@folkwang-hochschule.de writes:

 cool. nedko, not intending to rehash the dbus carnage of yore, but:
 for a headless system without a user logged in via some graphical
 desktop, what is needed to be able to run LADI?

The DBUS_SESSION_BUS_ADDRESS must contain the address of the session bus
daemon. Check the man page of dbus-launch. I launch the session bus
daemon from by ~/.xinitrc script (I don't use xdm/kdm/gdm) like this:

eval `dbus-launch --sh-syntax --exit-with-session`

The man page has more documentation. Countrary to popular beleif, D-Bus
is not bound to desktop, in the GUI sense. It does not even make sense
for the system bus where HAL and other system stuff lurks.

 i for one would be interested in having a rudimentary start script that
 gets all the $FOOkits and dbus-$GIZMOs in place so that LADIsh can work.
 even if few people will use it on headless systems, it would be very
 instructive and show how different system services work together.

You need to obtain the value for the session bus address on each tty
(local or ssh ones for headless operation). If you came with steps for
setting such envirnment, please share them - I want them on ladish.org
wiki.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpLoiB6VoPaZ.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [LAU] [ANN] LADI Session Handler - Preview 1

2009-09-01 Thread Nedko Arnaudov
Nedko Arnaudov ne...@arnaudov.name writes:

 Julien Claassen jul...@c-lab.de writes:

 Hello Nedko!
   Now I've come up against a wall, which I don't want to climb.
   It's all to do with GUI-toolkits and their relatives. Especially
 flowcanvas. I dearly hope and plea for the feature, to optionalise the
 GUI-parts. Flowcanvas seems to require something ese, which is
 tedious. Because now I could go on installing ad nauseam, without
 getting anywhere in a short while.
   Well you might say, that I'm a special case, being blind, having no
 graphic. But I think this might hit other people as well. People with
 other main-GUI-toolkits or other commandline friends, and there are
 some.
   I'd be glad to know, if you're so far along on your way, that you
 seperated the GUI parts from the real thing.
   Kindest regards
  Julien

 GUI (gladish) and the real thing (ladishd) are really separated. Later
 today I'll try to modify the waf build script to support GUI-less
 build. Here is a ticket for you: http://ladish.org/ticket/10

The fix is in the git repository. To get the sources with git:

git clone -o nedko http://nedko.arnaudov.name/git/ladish.git

This will create ladish/ subdirectory where sources will be.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp1Y9RsIlUvm.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] Invada Studio LV2 Plugins 1.2.0

2009-08-23 Thread Nedko Arnaudov
hollun...@gmx.at writes:

 The meter doesn't show up in lv2rack. It shows up in ardour2.

zynjacku and lv2rack have cache of suitable plugins. Did you rescan the
LV2 world after you installed the new version of Invada plugins?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp69OfHrJ8Ys.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] jack2's dbus name

2009-06-19 Thread Nedko Arnaudov
Lennart Poettering mz...@0pointer.de writes:

 On Thu, 18.06.09 16:09, torb...@gmx.de (torb...@gmx.de) wrote:

  I think org.jackaudio.service should be fine. I don't think this
  automatic logic needs to work on non-D-Bus jack builds. As I see it
  you don't need to make any changes on jack for this to work. All I
  need is the guarantee that by the time the service name is registered
  on the bus jack is fully accessible. Otherwise we had a race here: if
  PA looks for the org.jackaudio.service name to appear on the bus and
  then imemdiately connects to it while jack isn't fully accessible yet
  PA would fail.
 
 the existence of org.jackaudio.service object does not guarantee,
 that jackd is connectable.

 I'd consider that brokeness in Jack then. Taking the name on the bus
 sould be the last step during initialization. Otherwise you'll always
 be in racy situations where clients try to talk to JACK while JACK is
 only half-way initialized.

I'd like to clarify something,

org.jackaudio.service exposes the controller object. It is not the server,
it is the controller, a peristent endpoint that can be used to start and
stop the server on user request. jack clients are usually not supposed
to check whether jack server is started. It will be either autostarted
or libjack initialization will fail if autostart is disabled and jack
server is stopped.

The dbus object name that is used for cooperation with PA is different
thing.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpYvuq5rBqbJ.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] lv2fil version 2.0 New hope released

2009-06-19 Thread Nedko Arnaudov
Jörn Nettingsmeier netti...@folkwang-hochschule.de writes:

 hi nedko!

 Nedko Arnaudov wrote:
 James Warden warj...@yahoo.com writes:
 
 Where's the ardour patch ? Thanks :)
 
 http://nedko.arnaudov.name/soft/ardour2-r5126-lv2_external_ui.patch

 thanks for the lv2 port. since i've read some of fons' code and have a
 rough idea how it works, i hope this will give me the chance of learning
 lv2 by example - i'm pretty excited about this...

 haven't tested the lv2 version yet due to lack of time, but since this
 patch looks pretty self-contained, do you think it might make sense to
 push it into the upcoming ardour 2.8.1 release?

It is not that clean, but I can clean it more if such cleanup is
required for incusion in ardour 2.x.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpyhjUNLK58y.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] zynjacku-5

2009-06-13 Thread Nedko Arnaudov
In this release:
 * slv2 is no longer required
 * cache list of suitable plugins
 * speedup plugin list window
 * new tool, zynspect, that can be used to list and inspect available
   lv2 plguins.
 * Fix assert when restoring rack presets
 * By default, sort plugins by name
 * Experimental support for dynmanifest extension. Combined with
   NASPRO allows loading ladspa plugins in lv2rack.
 * Set plugin GUI window's role to plugin_ui (for WM kludges etc)
 * single plugin mode for lv2rack
 * Hide external UIs when zynjacku/lv2rack quits

zynjacku is JACK based, GTK (2.x) host for LV2 synths. It has one JACK
MIDI input port (routed to all hosted synths) and one (two for stereo
synths) JACK audio output port per plugin. Such design provides
multi-timbral sound by running several synth plugins.

zynjacku is a nunchaku weapon for JACK audio synthesis. You have solid
parts for synthesis itself and you have flexible part that allows
synthesis to suit your needs.

lv2rack is a host for LV2 effect plugins.

Project homepage with screenshots:

http://home.gna.org/zynjacku/

Get tarball from here:

https://gna.org/files/?group=zynjacku

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpKuyWLFOLoV.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] lv2fil version 2.0 New hope released

2009-06-13 Thread Nedko Arnaudov
Four-band parametric equaliser LV2 plugin. DSP code by Fons Adriaensen.

Homepage: http://nedko.arnaudov.name/soft/lv2fil/

Screenshot: http://nedko.arnaudov.name/soft/lv2fil/lv2fil.png

Tarball download:
http://nedko.arnaudov.name/soft/lv2fil/lv2fil-2.0.tar.bz2
http://nedko.arnaudov.name/soft/lv2fil/lv2fil-2.0.tar.bz2.sig

= Overview =
Stereo and mono LV2 plugins, four-band parametric equalisers.
Each section has an active/bypass switch, frequency, bandwidth and
gain controls. There is also a global bypass switch and gain control.

= DSP =
The 2nd order resonant filters are implemented using a Mitra-Regalia
style lattice filter, which has the nice property of being stable
even while parameters are being changed.

All switches and controls are internally smoothed, so they can be
used 'live' whithout any clicks or zipper noises. This should make
this plugin a good candidate for use in systems that allow automation
of plugin control ports, such as Ardour, or for stage use.

= GUI =
The GUI provides knobs and toggle buttons for tweaking filter
parameters. It also provides frequency response widget with
differently coloured curve for each section and separate curve for
total equalization effect.

The GUI uses the External UI extension. lv2rack (part of zynjacku)
supports this extension. Ardour-2.8 needs patch to support the
external UI extension.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpIxNiWbmWSz.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] lv2fil version 2.0 New hope released

2009-06-13 Thread Nedko Arnaudov
James Warden warj...@yahoo.com writes:

 Where's the ardour patch ? Thanks :)

http://nedko.arnaudov.name/soft/ardour2-r5126-lv2_external_ui.patch

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp7bG2wX7RKK.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jack for windows compared to linux

2009-06-01 Thread Nedko Arnaudov
Stéphane Letz l...@grame.fr writes:

 What do you think Stephane, can native jack clients on windows achieve
 performance which is almost at par as native ASIO apps ?
 If we release LinuxSampler with jack support we have probably to ship
 libjack (otherwise the app does not start)  with the sampler and it
 could be that it conflicts with an
 already installed jack.

 Well I also recently had this kind of weak link requirement for  
 libjack on Linux. I think OSX supports some kind of weak linking with  
 any compiled framework, but the situation is less clear on Windows on  
 Linux. A possible solution would be to provide a special  
 libweakjack library with the appropriate bahaviour for that.

On Windows, you can use LoadLibrary() API function to load libjack.dll.
On Linux, dlopen() can be used to load libjack.so.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpQRR5YNRPM3.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] invada-studio-plugins-lv2-1.0.0

2009-05-31 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 Even if it did support LV2, it couldn't support the GUIs because
 (unless it has changed dramatically since I last looked at it) the LV2
 GUI extension is limited to a single host toolkit which Rosegarden
 does not use, namely GTK.

There is external UI extension that allows plugin to launch the GUI in
separate process.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpjYhuSP47Tv.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] invada-studio-plugins-lv2-1.0.0

2009-05-31 Thread Nedko Arnaudov
Chris Cannam can...@all-day-breakfast.com writes:

 On Sun, May 31, 2009 at 11:36 AM, Nedko Arnaudov ne...@arnaudov.name wrote:
 Invada plugins don't have external UI. If you are going to add LV2
 support to Rosegarden I'll add external UI support to Invada.
 I promise.

 That is a worthy promise; thank you.  But what are the chances of new
 plugin developers being prepared to do that extra work themselves, as
 a general matter?

 (I realise that's a rhetorical question, or at least one you can't be
 expected to have the answer to.  Fraser might have some thoughts,
 perhaps?)

If they are prepared to do DSSI like stuff (the only alternative we have
ATM), they can reuse the DSSI-like universal wrapper. The code needs
only two defines, UI_EXECUTABLE and UI_URI.

If they are not, then maybe they are looking for in-process UI extension
that is toolkit independent. I have idea about cairo UI extension but it
will require abstracting mouse and keyboard events. Also it will force
plugin authors to use some kind of [custom] widget toolkit based on
cairo.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpJWlNzmUaVx.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] invada-studio-plugins-lv2-1.0.0

2009-05-31 Thread Nedko Arnaudov
Fraser fra...@arkhostings.com writes:

 Nedko Arnaudov wrote:
 Invada plugins don't have external UI. If you are going to add LV2
 support to Rosegarden I'll add external UI support to Invada.
 I promise.
 

 At least let me try and fail first. ;)

I assumed you have better things to do ;)

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpqWBo3tZrk1.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Mon, May 18, 2009 at 10:50:01PM +0100, Krzysztof Foltman wrote:

 I don't see the problem, let alone OMG INTERCEPTING C API CALLS!!11! or 
 eating babies.

 Well, the current implementation *does* intercept C API
 calls in order to divert them to dbus, it's not just an
 addition to the standard jackd. I never mentioned babies
 being eaten.

As long as interface is same at C API level everything is fine. dbus
cant and does not intercept any C API calls. The implementation of the
jack_client_open(), only when compiled in dbus model, only when wants to
start jack server, starts the jack server by *CALLING* libdbus
function. That C level libdbus API call is then implemented by using the
dbus IPC mechanism (sockets) and then gets into jackdbus process that
executes the call. Nobody is intercepting jack.h API C level calls.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpxGqZN2rJDr.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Tue, May 19, 2009 at 10:03:28AM +0300, Nedko Arnaudov wrote:

 Fons Adriaensen f...@kokkinizita.net writes:
 
  Well, the current implementation *does* intercept C API
  calls in order to divert them to dbus, it's not just an
  addition to the standard jackd. I never mentioned babies
  being eaten.
 
 As long as interface is same at C API level everything is fine. dbus
 cant and does not intercept any C API calls. The implementation of the
 jack_client_open(), only when compiled in dbus model, only when wants to
 start jack server, starts the jack server by *CALLING* libdbus
 function. That C level libdbus API call is then implemented by using the
 dbus IPC mechanism (sockets) and then gets into jackdbus process that
 executes the call. Nobody is intercepting jack.h API C level calls.

 Nedko, you continue to contradict yourself.

 What you write above confirms that the jack_client_open()
 call is intercepted and its action modified. 

It is not intercepted. It is implemented. No hooking is made.
jack_client_open() action is not modified. It behaves as expected, as
documented in the API. jack server is autostarted.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpXWcDRelfok.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Tue, May 19, 2009 at 11:23:07AM +0300, Nedko Arnaudov wrote:

 It is not intercepted. It is implemented. No hooking is made.
 jack_client_open() action is not modified. It behaves as expected, as
 documented in the API. jack server is autostarted.

 It's not just a different implementation. It has side effects
 that the original call does not have (starting a daemon),
 and these side effects will have consequences later.

 If this is not true then the new implementation is
 actually  useless.

 I would have no objection if you added e.g.

jack_client_open_via_dbus()

 leaving the original call as it is.

No and no again. jack clients dont care how jack server is started. they
want it started so they can use it. period. they dont care about jack
internal infrastructure. The whole point of abstrctions is to allow
changing the implementation. As it is with jack1 and jack2.

Why you dont want jack_client_open_jackdmp() ?

 Someone sets up a firm that provides a free service:
 they enhance your life by removing things from your
 home and disposing of them.

 One day I return home and find some things have been
 removed.

 I go the manager of the free service and tell him:

 - Listen, I don't want you to enter my home and 
   remove things uninvited.

 - But then I can't do my job !

 - So you are thieves ?

 - No, no, no, we just provide a free service
   that enhances your life.

This is a BS, nobody is forcing you to use that. You have the free
will. You can choose what to use. There is an option that you dont
like. And nobody is telling you that it will enhance *your* life. It may
enahnce my life. Or someone else's. But not yours. This is why it is
optional. Even installing jack2 instead of jack1 is optional. You are
free to use VAX if you like it. Nobody is forcing you to use something
else.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpHa1XVhokkf.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] jackd/jackdbus : D-Bus or not D-Bus...

2009-05-19 Thread Nedko Arnaudov
Felipe Sateler fsate...@gmail.com writes:

 Stéphane Letz wrote:

 My feeling is that is we choose the runtime auto-start strategy, then
 we should not mix anything concerting setting management

 This sounds weird to me. There should be only one canonical configuration 
 file for jack, independent of how it was started.

What canonical means? Something achieved through massacre? Or something
achieved through evolution?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpUZKUy9P8iA.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
torb...@gmx.de writes:

 so please tell me why the dbus implementation CANT just read .jackdrc ?
 i am really pissed on all you guys trampling on legacy stuff.

It can. Nobody has implemented it.

 WHY cant jackdbus just use the .jackdrc if it does not find its own .xml
 config ? or check, whether .jackdrc is newer than the xml ?

Because it is useless. It is useless because you will still have two
configuration files. You are not solving the problem. qjackctl and
ardour will save to jackdrc, jackdbus (or multiconfig object) will save
to other file.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpAxqfpQQbIV.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
torb...@gmx.de writes:

 On Mon, May 18, 2009 at 07:15:23PM +0300, Nedko Arnaudov wrote:
  however, by having jackdbus in the picture and when everybody would think
  it would be the holy grail, it is breaking all that instead just because
  it wants to rule the game on its own. it's doing it with complete
  disregard to what long time qjackctl/jackd users have been thought. that's
  disgraceful to say the least.
 
 It is not breaking it is fixing issues. Or I'm wrong that qjackctl can't
 show messages generated by jackd when jackd is autolaunched by regular
 jack client application? Last time I checked those messages go to
 application's stdout (that is inherited from the parent process - the
 one of the normal jack client application).
 
 The issue that started this holy war is that dbus enabled package that
 contains also jackd got into the hands of Fons and ate his babies. The
 problem is already fixed in svn. qjackctl will not work when dbus is
 enabled unless both jackdbus and jackd are compiled and installed and
 after the packager ignores the warning text at configure time. qjackctl
 will not work because there will be not jackd executable installed.

 and why is this so complicated ? 
 why not think a bit about legacy ?
 this i dont care for legacy attitude is the problem. and it does not
 help to say we think dbus eats babies. this is just a cheap excuse.

 we are pissed because you dont care.
 and i am starting to care less and less for all this shit too.

I care about legacy. I've implemented a2jmidid to support legacy ALSA
seq stuff. I've tried to not obsolete legacy things. But when some part
is not designed to cooperate and is not extendable you have to give up.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpgD3AtSXXfC.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] A picture...of the global mess

2009-05-19 Thread Nedko Arnaudov
Stéphane Letz l...@grame.fr writes:

 He all,

 A picture to try  summary what I understand about we would like :

 - a new shared library called libjackontrol.so : is does implement
 the so called control API and a IPC mechanism to use it.

 -  jackcontrol is an *always running deamon that defined an entry
 IPC point.  jackcontrol get requests from control applications.
 jackcontrol can start a seprated server called jackserver (using a
 fork+exec) way. jackcontrol is a *unique* place where setting are
 handled.

 - jackd is a recoded  control application that parse it's command
 line, and use the control IPC to speak to jackcontrol (then just
 quits). jackcontrol then start the jackserver whith the appropriate
 paramaters.

 - jackddbus is a D-Bus aware control application; It receive DBus
 requests and translate them to control IPC to speak to jackcontrol.
 jackcontrol then start the jackserver whith the appropriate
 paramaters

 - libjack.so speaks also to jackcontrol using the control IPC: an
 client that auto-start actually use this mecanism

 Does it helps?

 Stephane

As alternative diagram we already have the old one:

http://www.marcochapeau.org/documentation/jackenv

Instead of three IPC layers between pyjack(laditools now), you have only
one. I like the architecture described in this diagram.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpH6nY2bATGq.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Bob Ham r...@bash.sh writes:

 On Tue, 2009-05-19 at 10:37 +0200, Fons Adriaensen wrote:

 Someone sets up a firm that provides a free service:
 they enhance your life by removing things from your
 home and disposing of them.
 
 One day I return home and find some things have been
 removed.
 
 I go the manager of the free service and tell him:
 
 - Listen, I don't want you to enter my home and 
   remove things uninvited.
 
 - But then I can't do my job !
 
 - So you are thieves ?
 
 - No, no, no, we just provide a free service
   that enhances your life.


 I have to say, I think this is really out of line, Fons.  Implying free
 software developers are theives because they've changed something and
 you don't like it is quite extraordinary.

 I think a better analogy would be like so:


 Someone sets up a firm that provides and maintains free furniture,
 appliances, plumbing and electricity for anybody's home.

 One day, you come home and find half of your radiators don't work
 because someone has started upgrading the plumbing and hasn't finished
 yet.

 You go to the manager of the free service and tell him:

 - Listen, I don't want you to stop the radiators in my house from
   working.

 - That's fine, you're entirely free to install your own plumbing, or fix
   the plumbing we've installed for you.

 - I don't want to, you should do it for me and do it right dammit!

Even better:

Someone sets up a firm Foo that produces furniture,
appliances, plumbing, etc.

Someone sets up a firm Bar that provides and maintains free furniture,
appliances, plumbing and electricity for anybody's home by using the
prducts of firm Foo.

One day, you come home and find half of your radiators don't work
because someone has started upgrading the plumbing and hasn't finished
yet.

You go to the manager of the firm Foo and tell him:

- Listen, I don't want you to stop the radiators in my house from
  working.

- I don't. I have no control with out. Why you dont ask the manager of
  firm Bar?

- But you produce it!

- Yes, we produce toxic waste too. There are bacteria that eat it. I'm
  affraid the manager of firm Bar got impression that you eat toxic
  waste too. I'm sorry about situation. We will improve instructions
  about our toxic waste product but still, you have to request Bar to
  meet your requirements. Or stop using Bar and use Baz instead.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp4kbu8rH33o.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 If something needs to be broken, because of the development,
 it shouldn't be released. We won't practise on stage, we practise in
 the rehearsal room.

In open source world, with public source control repos each commit is a
publish. So you got a camera in your rehearshal room. And the live
stream is watched by whom likes your jaming.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpiCZR4wckIj.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 Nedko Arnaudov wrote:
 Ralf Mardorf ralf.mard...@alice-dsl.net writes:

   
 If something needs to be broken, because of the development,
 it shouldn't be released. We won't practise on stage, we practise in
 the rehearsal room.
 

 In open source world, with public source control repos each commit is a
 publish. So you got a camera in your rehearshal room. And the live
 stream is watched by whom likes your jaming.
   

 Watching the jam for free, you can learn a lot, but you don't get the
 music you might wish to get, you need to go to the concert for free or
 you need to download the recording for free AND the band can produce
 different new versions, but it should be possible to hear the first
 version of the concert in the future ... metaphors won't work ;).

The live stream is captured (public repo is persistent) and you can hear
the first version in the future. ;)

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpmYsb2V8koB.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-19 Thread Nedko Arnaudov
Ralf Mardorf ralf.mard...@alice-dsl.net writes:

 The latest version of the Atari Cubase still can run sessions of the
 first version, sometimes you can't do this with Rosegarden between two
 versions (okay, I nearly does NO RT-AUDIO with Linux ;)). But the
 point isn't what is possible or impossible for other OS's. For Windows
 and Mac you can get the same open source applications, but not
 everybody want to work with the source code and set up the application
 by this way, most people needs a working tool.

So you blame Steinberg for not releasing new versions of Ableton that
will support Linux? ;)

Or you blame gnome folks about new KDE being crap?

:)

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpEsvqPG7UQT.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
MarcO'Chapeau ma...@marcochapeau.org writes:

 On Sun, 17 May 2009 13:11:23 +0200, Fons Adriaensen f...@kokkinizita.net
 wrote:
 The only argument pro using dbus I'v heard so far
 is that it permits run-time discovery of new backends,
 internal clients and their parameters.

 That's unfair. Read the archives. There are more arguments to that.

All features that jackdbus offers can be added without dbus. Using dbus
was and still is the best way. It will be the best until there is better
reusable model invented. Or if someone donates (development time) to
implement such object model. Most important thing missing in jackd is
the log file. Then you have other missing features:
 * no way several app to control single jack server. One needs to adopt it.
 * no runtime discovery of jack settings
 * no hierarchical settings file
 * complex patchbay API that results in complicated code in patchbay apps
 * multithread (for jack1 realtime too) threading model. (GUI) control
   patchbay app should be allowed to be single threaded and not required
   to handle graph change events in a realtime context.

 Dbus assumes there is a local login, without that
 there is no session bus, and things don't work.
 Most of my audio machines are headless, there is
 no local login, but I still expect things to work,
 and that, IMHO, is not unreasonable.

 It is not unreasonable. No one said you *had* to use dbus. This needs
 fixing and until it is fixed, packagers should be advised to disable dbus.

ATM headless and multiserver setups are not covered by jackdbus. This
*can* be fixed with dbus model.

Packagers tha have made the packages should have read this before
enabling dbus:

http://trac.jackaudio.org/wiki/JackDbusPackaging

Maybe they did. I dont see why you Fons are attacking jackdbus because of
packaging not matching your needs.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpe49UcKihQf.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Sun, May 17, 2009 at 09:36:12AM +0200, Stéphane Letz wrote:

 I really appreciate your feedback...,  but AFAICS Qjackctl is *absolutely* 
 not using the DBUS layer!

 Then please tell what this is:  (ps -ef output)

 fons  2444 1  0 10:43 ?00:00:00 /usr/bin/jackdbus auto

 Killing this makes qjackctl behave normally again,
 and allows me to start the server configured in it
 Setup window instead of getting a different one.

Presence of jackbus process does not mean that jack server is
started. It means that jack server may or may not be started. jackdbus
service is there to allow in future creation of multiple jack servers.

the easiest way to check whether jack server is started by jackdbus
service is:

jack_control status

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpKR5tgRqVyY.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Paul Davis p...@linuxaudiosystems.com writes:

 On Sun, May 17, 2009 at 1:49 PM, Stéphane Letz l...@grame.fr wrote:
 After all these discussions on JACK2, D-Bus and Qjackctl issues, here are
 some general comments:

 1) JACK2 *default* compilation mode defines the same starting scheme at
 JACK1 was doing. So (beside possible bugs) it is supposed to be completely
 interchangeable with JACK1. It can be controled with Qjackctl as usual.

 2) JACK2 compiled in D-Bus is supposed to be controlled by a D-Bus based
 control application... (jack_control is a simple python example of a control
 application part of the package). Using JACK2 compiled in D-Bus with
 Qjackctl is a receipe for trouble, even if if can be done in some simple
 use cases. (The point is that in this case the client auto-start feature
 starts the jackdbus exe instead of jackd with all of the related
 settings issues).

 3) The port issue Fons told about in Qjackctl  0.3.4 seems to be a Qjackctl
 bug, so has to be fixed at the right place.

 I don't see right now any raisonable way to fix this mess, better than
 adding even more complexity in the design... (Nedko any idea?) Otherwise I
 guess the only way is to make this totally clear for packagers :  1) is the
 standard way that maintains complete compatibility with legacy applications
 and control applications. 2) is the new way to be used with new D-Bus
 based control application (patchage ??)...  So it would mean 2  separated
 packages.

 this sounds like a mess. there is a control API. i believe it was
 agreed that the control API could be accessed directly (from C/C++
 etc), or via other systems for which translators/layers were added
 (e.g. DBus). i can see no reason why anyone would want to use choose
 between a JACK server that can be controlled via either DBus or the
 control API but not both. what is going on?
 ___
 Jack-Devel mailing list
 jack-de...@lists.jackaudio.org
 http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org


Using the dbus ate my babies matra is causing mess because other
people don't think so. Using dbus interface in qjackctl would fix lot of
this mess and this is the reason I asked Rui about that. Of course dbus
ate my babies ppl would see usage of jackdbus in qjackctl as a bad
thing.

Does qjackctl support headless and multiserver jack setups?
How headless setups work? When someone logins through ssh, does it
access jackd server that runs as same user?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpxStrb4eEat.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
alex stone compos...@gmail.com writes:

 So again, i'll ask the question.

 Will we continue to have a Jack version minus the dbus infrastructure,
 once jack2 is released?

 Or are we destined to be dragged into a compulsory hybrid?

 I share Fon's concerns, and still don't understand why the dbus/pulse
 momentum is taking precedence over what has been up to now, a great
 audio solution for any user who wants to write and create music.

 I'm not a coder, but i'll ask the jack team, who i have a lot of
 respect for, to take a step back and have another look at the bigger
 picture again. Dbus may be a way into a partnership with Pulse, but
 that implies a degree of compulsory requirement for the user.

 And i don't think answering with So don't use it is an answer if
 there's a question over the persistence of Dbus and Pulse overriding
 the users intent.

 Fon's description of Big Brother seems more applicable, and less
 humorous, the more one thinks about this.

 Alex.

 p.s. I'm practical about software, so the Dbus mantra means nothing to me.

There are three packaging scenarios described in

http://trac.jackaudio.org/wiki/JackDbusPackaging

This document is created packagers can choose how to package jack. The
mixed setup is can easily lead to user frustration and this is
explained. I personally use the mixed setup but i know how the whole
mixed system behaves and I need to start jackd occasionally. I wouldn't
recommend packaging mixed setup. In ubuntu packages I've created
jackdbus is separate package. jackd is separate package too. They both
implement jack server virtual package. Packagers must choose between
classic jackd or dbus-only scenarios unless they want to cause pain to
their users.

Some more things I've implemented in the ubuntu packaging...
Only dbus control apps depend on jackdbus package. qjackctl depends on
jackd package. So if you install qjackctl but dont want (or dont know
about) jackdbus you get no dbus. If you install lpatchage or laditools
you get dbus setup. Users don't care about jackd vs jackdbus. They care
about the frontends. If they are used to qjackctl+jackd they will use
that and will get no dbus ate my babies feeling. If they like ladi
control apps, they will not use jackd.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp0X7wVkPLf9.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
Jan Weil jan.w...@web.de writes:

 On Mon, May 18, 2009 at 01:23:20PM +0400, alex stone wrote:
 Will we continue to have a Jack version minus the dbus infrastructure,
 once jack2 is released?

 As an uninvolved observer I am wondering why the dbus control interface,
 if it is indeed only one of many potential interfaces using the c/c++
 API, is not packaged separately as an optional add-on. If it is indeed a
 compile time option, the design is flawed IMHO. Generally, the new
 control API sounds like a good idea but why can't the new features be
 exposed as new command line tools without dbus dependency per default?
 So you want the dbus interface? Fine, just install jack-control-dbus or
 whatever. 

 Or am I not getting it?

You are getting it but obviously the one who has put those packages in
the respected repository is not getting it. I've packaged jack2 in the
way you've mentioned. Of course those are for specific distro (ubuntu)
and not real packages but draft packages that i've made to simplify
work of real packagers when they take the maintainership.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpFt0RbxCSlK.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
drew Roberts z...@100jamz.com writes:

 How does dbus know what parameters to start jack with? Where is that 
 configured? (Perhaps this will solve the issue, I don't recall this 
 information passing before my eyes in this thread so far.)

jackbus reads the configuration file and then start jack server through
the control API. The configuration file is stored in
~/.config/jack/conf.xml (location conforming to the XDG Base Directory
Specification).

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpFeIBAMoToM.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Mon, May 18, 2009 at 12:15:10PM +0300, Nedko Arnaudov wrote:

 libjack does not start jack server if JackNoStartServer is
 specified. This behaviour is same for both jackd autolaunching and dbus
 jack server starting through activation. Presense of the jackdbus
 process *DOES NOT MEAN* that jack server is started. It looks like fair
 game to me.

 This is definitely *not* true. Presence of the 'jackdbus auto'
 daemon results in a jackd starting whenever qjackctl is
 started, and the author of that app has already reported
 that qjackctl explicitly requests no autostart when trying
 to become a jack client.

Fons I think we can both read C code, right?

From posix/JackPosixServerLaunch.cpp, line 166:

static int start_server(const char* server_name, jack_options_t options)
{
if ((options  JackNoStartServer) || getenv(JACK_NO_START_SERVER)) {
return 1;
}

#if defined(JACK_DBUS)
return start_server_dbus(server_name);
#else

jackd fork/exec stuff




presence of process with jackdbus auto' commandline those not mean that
*server* is started. This is the dbus service, not the jack server
running.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpfxCboeFzWw.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness

2009-05-18 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Mon, May 18, 2009 at 03:14:08PM +0300, Nedko Arnaudov wrote:

 The configuration file is stored in
 ~/.config/jack/conf.xml
 (location conforming to the XDG Base Directory Specification).

 Frankly I don't give a damn for that spec, or in fact
 anything from that self-styled group of *** who have
 apparently never in their lives seen a computer without
 a running desktop, have no idea of how things are done
 on a Unix-like system, are the source of all misery I've
 been confronted with lately, and are slowly turning Linux
 into something worse than Windows (I mean freedesktop.org).

 To start with, jackd is not a desktop app, and Unix/Linux
 apps are traditionally configured using an ~/***rc file. 

To be honest I dont care about the location of the file. It is fine with
me and I'm not going to advocate XDG, it is a fight between you and
them.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpHmP1YLVQUg.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Mon, May 18, 2009 at 05:13:19PM +0300, Nedko Arnaudov wrote:

 Fons I think we can both read C code, right?
 
 From posix/JackPosixServerLaunch.cpp, line 166:
 
 static int start_server(const char* server_name, jack_options_t options)
 {
 if ((options  JackNoStartServer) || getenv(JACK_NO_START_SERVER)) {
 return 1;
 }
 
 #if defined(JACK_DBUS)
 return start_server_dbus(server_name);
 #else
 
 jackd fork/exec stuff
 

 I can read this and it can mean different things.

 - This code is not involved in what happens
 - The value of the options argument is wrong.

It is involved in what happenes. At least from what I've got about the
problem you have.

You have installed jack package that does not work well with
qjackctl (dbus enabled one). Your application autostarted jack server
through dbus. But you havent configured it. QJackCtl is dbus
ignorant. You should not use qjackctl with jackdbus system. Unless you
know what you are doing. Or unless qjackctl gets jackdbus support.

jackdrc style commandline options for jackd are for jackd. They are not
used for jackdbus. They cant be used for jackdbus. Because of the object
activation works in all distributed object systems I know. This includes
DCOM and D-Bus.

 presence of process with jackdbus auto' commandline those not mean that
 *server* is started. This is the dbus service, not the jack server
 running.

 I know that. The fact remains that when the 'jackdus auto'
 daemon is running a jackd is started whenever qjackctl is
 started. You can go on to deny this, but that doesn't 
 change the facts.

So you complain about qjackctl missing support for jackdbus? Having that
will be nice :)

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpgHZy0sPwCp.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] What are we talking about.

2009-05-18 Thread Nedko Arnaudov
Stéphane Letz l...@grame.fr writes:

 Packagers are then strongly recommended to prepare the classic  or
 the D-Bus JACK2. Dependancies have to be handled accordingly (Nedko
 please clarify this point...)
 The mixed target should *not be used* for packaging.

 (see http://trac.jackaudio.org/wiki/JackDbusPackaging)

We have suggested packaging approach:

http://trac.jackaudio.org/wiki/SuggestedPackagingApproach

We can fix something if someone thinks it is not good.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgps9PhxqsdEa.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Fons Adriaensen f...@kokkinizita.net writes:

 On Mon, May 18, 2009 at 06:08:33PM +0300, Nedko Arnaudov wrote:

 You have installed jack package that does not work well with
 qjackctl (dbus enabled one). Your application autostarted jack server
 through dbus.

 It did not. No jack app here uses dbus.

If i got it right (dbus enabled libjack.so) then every jack app on your
machine uses dbus.

 jackdrc style commandline options for jackd are for jackd. They are not
 used for jackdbus. They cant be used for jackdbus. Because of the object
 activation works in all distributed object systems I know. This includes
 DCOM and D-Bus.

 What nonsense it this ? Everybody here tells me that 
 the dbus support is build on top of the existing C
 API and nothing else, that it just a communication
 layer allowing you to access the C API.  Hence jackd
 is the same with dbus or without. Or isn't this true,
 and is the dbus support much more invasive than some
 people want to admit ?

I dont get what you are talking about. Please explain.

 The client that autostarted a jackd did not use dbus.
 When I later started qjackctl it did not use dbus.

libjack.so will not start jackd if compiled in dbus. Actually it can but
only if jack server start through dbus failed. Obvisouly it didnt
because you said that it got started with wrong arguments, right?

 Yet the 'jackdbus auto' daemon (which nobody needed
 since all apps use the C API, but started anyway)
 interferes with clients not using dbus at all.

again if you have jackdbus enabled libjack.so all your clients DO
interact with dbus.

 Are you trying to say that on a jack+dbus system
 *all* jack apps have to be dbus-aware (or fail) ?

NO. dbus knowledge is behind libjack. But yes, they load libdbus.so when
they are started. Maybe you want to verify that with ldd?

 So you complain about qjackctl missing support for jackdbus? Having that
 will be nice :)

 Is that supposed to be funny ? 

Yes :)

 Final remark: the dbus advocates here are seriously
 contradicting themselves.
  
 1. Dbus is just a communication layer.

no

it is distributed object model. this somewhat bigger than IPC.

 2. Dbus adds functionality that can't be
provided via the normal interfaces.

and no again

It can be added. You can reinvent the wheel. You can reuse other already
invented mechanism. D-Bus was choosen because it is already quite
widespread in Linux systems.

 Both can't be true at the same time.

they are both false but even if they were true they can be both true,
according to my understanding of logic :D if A and B are not corelated
then A and B can be true at the same time.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpZ3Al58oyuR.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Rui Nuno Capela rn...@rncbc.org writes:

 So you complain about qjackctl missing support for jackdbus? Having that
 will be nice :)


 from where i stand, qjackctl does not need jackdbus support whatsoever.
 it's kind of the other way around, if i may say. and the way around is not
 about qjackctl per se, but to plain old good command-line jackd.

In jackdbus system qjackctl is unusable for starting and configuring the
jack server (there is no jackd executable). However qjackctl can still
be used to monitor xruns and DSP load and as a patchbay application.

 fwiw, qjackctl just runs the jackd server as documented and interfaces to
 libjack through its plain client api. it has been doing this for years and
 rightly so, imo.

Yup I know that. And this is why it works as patchbay and monitor app
when used with jackdbus.

 however, by having jackdbus in the picture and when everybody would think
 it would be the holy grail, it is breaking all that instead just because
 it wants to rule the game on its own. it's doing it with complete
 disregard to what long time qjackctl/jackd users have been thought. that's
 disgraceful to say the least.

It is not breaking it is fixing issues. Or I'm wrong that qjackctl can't
show messages generated by jackd when jackd is autolaunched by regular
jack client application? Last time I checked those messages go to
application's stdout (that is inherited from the parent process - the
one of the normal jack client application).

The issue that started this holy war is that dbus enabled package that
contains also jackd got into the hands of Fons and ate his babies. The
problem is already fixed in svn. qjackctl will not work when dbus is
enabled unless both jackdbus and jackd are compiled and installed and
after the packager ignores the warning text at configure time. qjackctl
will not work because there will be not jackd executable installed.

 i strongly believe that all this trouble is a matter or something that
 just has been overlooked on the jackdbus development, that is, a
 misinterpretation, a bug that can be squashed right away once it's
 perfectly identified.

Unless you point to what is wrong nobody who knows how jackdbus system
operates will understand what you mean.

 however, if all that is due on a jackdbus design decision instead, then i
 am sorry, i'll digress. a completely new qjackctl has to be written from
 the ground up. just don't ask me to do it, at least anytime soon :)

I asked you to add support for jackdbus (there are qt dbus wrappers)
more than a year ago. It was in December 2007 IIRC. Not that I hoped a
lot even back then.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpPb2FmvcEBJ.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Jack-Devel] more jack/qjackctl madness : some comments

2009-05-18 Thread Nedko Arnaudov
Paul Davis p...@linuxaudiosystems.com writes:

 On Mon, May 18, 2009 at 11:57 AM, Rui Nuno Capela rn...@rncbc.org wrote:

 from where i stand, qjackctl does not need jackdbus support whatsoever.
 it's kind of the other way around, if i may say. and the way around is not
 about qjackctl per se, but to plain old good command-line jackd.

 i'd like to clarify (again) based on ongoing conversations in #jack.

 the issue that qjackctl could consider is not jackdbus, or dbus in
 general. its the JACK control API that was discussed at LAC 2008.
 right now, qjackctl simply claims to know how to start the JACK
 server, offers a dialog to let the user pick settings, and then
 constructs a set of command line arguments for jackd.

 this will continue to work forever, but it is less flexible than we
 would like (consider what happens every time JACK gets a new option
 added (or taken away). the control API allows a control application to
 query the jack server (actually, its really querying the library that
 contains the implementation of the jack server that the control app is
 linked with), and discover what the available parameters are etc. etc.

 the dbus stuff is really mostly orthogonal to this (i stress the
 mostly)  - its just another example of a control app/system. there's
 no reason why qjackctl would or should want to interact with it.

 however, the one area where these things overlap is auto-start. this
 is because what it means to auto-start a JACK server differs in the
 following two scenarios:

 * vanilla JACK install - there is no jack control system in
 place or in use
 * with jackdbus - there is a daemon in place listening for
 requests to start/stop/reconfigure the server

 in the first scenario, the ~/.jackdrc file (if it exists) takes care
 of auto-start. but if jackdbus is in use, then auto-start means
 something really quite different.

 we are are discussing ways to reconcile these differences on IRC.

 for those who don't understand why the second scenario is worth
 considering, i would point to the questions that (relatively)
 frequently come from users about changing a running JACK system to use
 another h/w interface, or to start/stop JACK temporarily for some
 reason. there is one school of opinion that would say that stop jackd
 and restart it with the correct parameters is the correct approach to
 this question. i think that at LAC2008 it was felt that we could do
 better.

I confirm this it true (except about LAC2008 because i was not there and
i dont know). And i want to add that qjackctl can be made more flexible
if it can detect jackdbus.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgppeQ0Q0FWOQ.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Jamin's multiband EQ as LV2 plugin ?

2009-04-18 Thread Nedko Arnaudov
James Warden warj...@yahoo.com writes:

 I was toying with the following idea: take jamin's graphical multiband
 EQ and reshape it into an LV2 plugin. Is this a redundant idea in case
 someone else is already working on something similar ?

 Just let me know before I start looking into this.

Do you plan to build custom LV2 GUI too?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpftcxr9chbC.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] zynjacku-4

2009-01-27 Thread Nedko Arnaudov
In this release:
 * lv2rack does no longer require PHAT (it was not really using it even
   in zynjacku-3 release)
 * Support for out of process plugin UIs (the upcomming nekobee release
   should use it)
 * Don't crash when trying to load non-existing plugin (specified by
   supplying plugin URI at commandline)
 * Don't crash with some plugins (NULL extension_data)

zynjacku is JACK based, GTK (2.x) host for LV2 synths. It has one JACK
MIDI input port (routed to all hosted synths) and one (two for stereo
synths) JACK audio output port per plugin. Such design provides
multi-timbral sound by running several synth plugins.

zynjacku is a nunchaku weapon for JACK audio synthesis. You have solid
parts for synthesis itself and you have flexible part that allows
synthesis to suit your needs.

lv2rack is a host for LV2 effect plugins.

You need slv2 library to compile zynjacku tarball.

Project homepage with screenshots:

http://home.gna.org/zynjacku/

Get tarball from here:

https://gna.org/files/?group=zynjacku

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp2O2r9EeEku.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] lv2dynparam1-2

2009-01-20 Thread Nedko Arnaudov
lv2dynparam is LV2 extension for dynamic parameters.

The extension consists of a header describing the extension interface
and libraries, one for plugins and one for hosts, to expose
functionality in more usable, from programmer point of view, interface.

Changes since version 1:
 * host library: API is refactored, the new API is NOT compatible with
   the version 1 API
 * host library: support for dynparam automation
 * host library: support for dynparam parameter save/restore

Project homepage:

http://home.gna.org/lv2dynparam/

Get tarball from here:

https://gna.org/files/?group=lv2dynparam

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp9wOdOyvUuq.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] zynjacku-3

2009-01-20 Thread Nedko Arnaudov
In this release:
 * Plugin presets (save/restore)
 * Improved support for Calf plugins (various extensions needed by
   development version)
 * MIDI CC/Pitchwheel automation. Not yet available for custom
   UIs. Works for float parameters only.
 * Replace PHAT fansliders with bundled knobs. PyPhat is no longer
   required.
 * lv2dynparam host library is now optional. To enable support for
   dynparam plugins (lv2zynadd) lv2dynparam1 version 2 is needed.

zynjacku is JACK based, GTK (2.x) host for LV2 synths. It has one JACK
MIDI input port (routed to all hosted synths) and one (two for stereo
synths) JACK audio output port per plugin. Such design provides
multi-timbral sound by running several synth plugins.

zynjacku is a nunchaku weapon for JACK audio synthesis. You have solid
parts for synthesis itself and you have flexible part that allows
synthesis to suit your needs.

lv2rack is a host for LV2 effect plugins.

You need slv2 library to compile zynjacku tarball.

Project homepage with screenshots:

http://home.gna.org/zynjacku/

Get tarball from here:

https://gna.org/files/?group=zynjacku

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpAqL2CFDBTh.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] JACK for openSUSE 11.0 x86_64

2008-12-16 Thread Nedko Arnaudov
oc2...@arcor.de writes:

 and even jack2 is providing this scheme:
 http://trac.jackaudio.org/wiki/SuggestedPackagingApproach

I've changed the page and it now contains this paragraph:

All different releases of JACK should be considered internally
incompatible - that is, it should never be considered possible to mix
versions of the JACK server with other versions of the JACK library/ies,
drivers or internal clients. Packaging should ensure that no packages
associated with different releases of JACK are ever installed
simultaneously. Especially, having two versions of libjack.so installed
simultaneously, often causes JACK programs using one libjack version not
being able to operate with JACK server of other version. 

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpyXvxvxdBdF.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] MIDI and audio patchbays

2008-11-14 Thread Nedko Arnaudov
Julien Claassen [EMAIL PROTECTED] writes:

 Hello folks!
One question, I hope it's not too dumb. :-(
If you have your average patchbay, how does it know, when new MIDI/audio 
 ports/clients come to live or die? And how does it know, that some connection 
 was killed by some other application.
Does it simply query it all the time? I wouldn't think so... But perhaps 
 I'm 
 wrong...

Both full refersh and notifications are possible. Notification mechanism
is still lacking port renamed functionality.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp48QEZuRppO.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] lash-0.6.0 release candidate 2

2008-11-11 Thread Nedko Arnaudov
alex stone [EMAIL PROTECTED] writes:

 BTW I'm surprised that you managed to connect Rosegarden trough
 a2jmidid. I was under impression that it needs static alsa-jack
 bridges,


 I may not have explained this properly. In the pic you can see RG midi
 cabled to LS midi. Both are Alsa. I couldn't use the a2jbridge.

lpatchage cannot patch ALSA. Thus I really dont how you did that :]

 This indeed sounds strange. Maybe it is some bug in jackdbus patchbay
 code. As test, can you please check whether those audio connections
 appear through libjack interface, either using qjackctl or jack_lsp with
 -c option?


 Qjackctl confirms the  ports are cabled together. They simply don't show as
 connected in lpatchage, even with a refresh, or restart.

Can you please create simple test case for reproducing the issue?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpvy1Ukq4Va0.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] lash-0.6.0 release candidate 2

2008-11-11 Thread Nedko Arnaudov
alex stone [EMAIL PROTECTED] writes:

 I have, in the lpatchage window, lash active, and a2jmidi active reflecting
 the successful run state.

 Not sure what else to include here. There's no hard crashing going on, or
 odd behaviour so far. (And i'm pleased Ingen is running ok now, on F8,
 CCRMA, 32bit. The 64bit boot is stable, with jackdbus, etc, but you know
 that already, as you helped me 'tune' it, a little while ago. Thanks)

 I've been out of the loop for a while, but there's a sizable 'coming
 together' of all these components, and it shows.

 I'll post more if i have a problem, or challenge, as i use it more.

Alex, thank you for your report! Having everything works smoothly is
very encouraging! The only major LADI thing that I've not implemented
yet is support for liblash-less clients. Main target is ardour :) I hope
to fix this before the end of November.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpdK61EsOSjP.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [ANN] lash-0.6.0 release candidate 2

2008-11-11 Thread Nedko Arnaudov
alex stone [EMAIL PROTECTED] writes:

 Nedko, if you're lost in this then i have no chance. :)

 With everything still intact, and the visible cable connections still active
 in the lpatchage pic i posted before, this is what qjackctl shows me.

 http://shup.com/Shup/80256/jack1.png

This shows you have JACK MIDI connections between rosegarden and
linuxsampler. both apps are alsa seq and midi goes:

rosegarden - a2jmidid - jack midi - a2jmidid - linuxsampler

qjackctl shows jack midi connections in midi tab, alsa seq connections
in alsa tab.

 http://shup.com/Shup/80256/jack.png

does not open here

 And here's the lpatchage pic of RG, my midi keyboard, and LS, all lashed
 together, reflecting the connections shown in Qjackctl.

 http://shup.com/Shup/80261/patch3.png

Those are JACK MIDI connections.

 This tells me i have connections in both alsa, and a2j, at the same time.
 If lpatchage shows me a connection(s) then what is it? a2j? You've already
 written that lpatchage can't patch alsa, so it must be a2j, yes?

yes ;)

 I will admit here i don't understand how i can connect RG in lpatchage, if
 RG is static bridge and won't respond to a2j. The pics seem to say
 otherwise, and the connection to Linuxsampler as well has me thoroughly
 mystified, if this is the case. (And i'll be the first to admit i'm a
 complete wizard at the gentle art of user error.)

RG is not static bridge. I was refering to alsaseq-jackmidi static
bridges. a2jmidid is dynamic bridge, dynamic means, it automatically
creates JACK MIDI ports for ALSA seq midi ports. I've tried to exmpain
things in a2jmidid README:

http://home.gna.org/a2jmidid/README

My confusion about RG is, that I was under impression that rosegarden
does not create output alsa seq midi ports but just sends midi events to
exisiting alsa seq midi input ports. I think i've checked this but maybe
I just got it wrong. I dont really use RG.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp3DzV9b6rpR.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] lash-0.6.0 release candidate 2

2008-11-09 Thread Nedko Arnaudov
release candidate 2 has some important fixes:
 * Fix for #46 - on first save of newly appeared clients, their state
   was not correcttly recorded as being saved and thus was not being
   restored on project load afterwards.
 * Memory corruption fixes caused by bug in stdout/stderr handling
   code. Was happening when lash client outputs lot of data to stdout or
   stderr
 * Improved handling of repeating lines sent to stdout/stderr

I would like to ask LASH beleivers and other interested parties to test
the 0.6.0 release candidate. Juuso Alasuutari and me have been doing
some major changes to the lash code. We have done lot of work, we've
fixed several big implementation issues and we need stable point before
doing more changes (0.6.1 and 1.0 milestones).

In the tarball there is simple lash_control script. One can also control
LASH through patchage-0.4.2 and through lpatchage (availabe through
git).

User visible changes since 0.5.4:
 * Use jack D-Bus interface instead of libjack, enabled by default, can
   be disabled. Ticket #1
 * Allow controlling LASH through D-Bus. Ticket #2
 * Use D-Bus autolaunching instead of old mechanism. Ticket #3
 * Log file (~/.log/lash/lash.log) for LASH daemon. Ticket #4
 * Client stdout/stderr are logged to lash.log, when clients are
   launched by LASH daemon (project restore). Ticket #5
 * Improved handling of misbehaved clients. Ticket #45
 * Projects now can have comment and notes associated. Ticket #13

Download:

http://download.savannah.gnu.org/releases/lash/lash-0.6.0~rc2.tar.bz2
http://download.savannah.gnu.org/releases/lash/lash-0.6.0~rc2.tar.bz2.sig

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp9BKrOplL4M.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] zynjacku/lv2rack development update

2008-11-02 Thread Nedko Arnaudov
 * zynjacku is updated to latest state of lv2 art
 * lv2rack - a lv2 effect rack (jack) is created (reuses lot of zynjacku
   code).
 * zynjacku development moved to git: http://repo.or.cz/w/zynjacku.git

Testers welcome ;)

For lv2 midi event port synths (the new ones),
you will need slv2 svn r1698 (at least)

Short term plans:
 * Cooperate with Krzysztof Foltman on calfwidgets+lv2rack/zynjacku
 * Ubuntu packages for lv2zynadd, zynjacku and lv2rack
 * Listen to feedback :D

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpC2jlXCkFbC.pgp
Description: PGP signature
___
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-23 Thread Nedko Arnaudov
Thanks for your comments Bob!

Bob Ham [EMAIL PROTECTED] writes:
 On Thu, 2008-10-16 at 00:10 +0200, Fons Adriaensen wrote:
 2. lash_extract_args()
 
 The type of main()'s argv is char *argv[], so
 why is the second argument a triple pointer ?
 Re-arranging the elements of argv does not
 require access to the variable argv itself,
 only to its elements, and for this a double
 pointer is all you need.

 I think the better option would have been to use environment variables
 rather than command-line arguments.  That would have required no
 fiddling at all.  As for why a double pointer was used, it was likely
 because I was following the method used in GTK+ et al.

I also think that LASH should use environment and remove use of
arguments for LASH business competely.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpFhTQm4czbG.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [OT] DIY Trigger - Piezo to MIDI to PC

2008-10-17 Thread Nedko Arnaudov
Ray Rashif [EMAIL PROTECTED] writes:

 And regarding MIDI, if I want to take into consideration dynamics, and let
 the piezo trigger MIDI messages with varying attack information, how would
 it be done? So depending on the voltage generated, it'd be a MIDI-ON but the
 final message to the computer (audio interface) would be a MIDI-ON 
 ATTACK == 75 sort of logic. Sorry for the noobish description, have just
 started to dabble into (audio/midi) electronics.

I know a way to implement this. I've read it somewhere in
Internet. piezo output is limited using zener diode (you want to do this
anyway because next electronic components may get burned out). Then you
can measure width of the impuse. Wider the impulse is, more attack you
have. In midi terms drum attack becomes midi note on velocity parameter.


 I understand the concept and design roughly and I can move on by reading the
 construction manual (refering to edrum's DIY guide), but at the moment I'm
 looking for a quick way to build a trigger as I need it asap (and no $$ for
 a real trigger kit/module).
 ___
 Linux-audio-dev mailing list
 Linux-audio-dev@lists.linuxaudio.org
 http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpaYycTdWo8K.pgp
Description: PGP signature
___
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 Nedko Arnaudov
Emanuel Rumpf [EMAIL PROTECTED] writes:

 Hi

Hello Emanuel

 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 )

  $ 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

I haven't really tested liblash control API after dbus changes. I think
it is safe to assume that it is deprecated. Thus, please test with
patchage or lpatchage instead of lash_panel and lash_save_button.

Juuso and Dave, do you think we should remove these control apps from
make install?

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgprqFQ58WljF.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] [Lash-dev] Re: LASH - some questions comments

2008-10-16 Thread Nedko Arnaudov
schoappied [EMAIL PROTECTED] writes:

 There is posted a message for testers here:
 http://linuxmusicians.com/viewtopic.php?f=24t=622
 and a discussion about lash here:
 http://linuxmusicians.com/viewtopic.php?f=28t=609

 If you need testers in the future maybe good to left a message there
 or/ and on the LAU mailinglist?

Thank you for your forum post about rc1. Posting announce of rc1 to
dev-only lists only was intetional. The reason is to avoid user
frustration that can be caused by unpolished software. Also devs are
supposed to be able to give better feedback for crashing software.
If everything goes as I expect, rc2 announce will probably be posted in
laa and lau mailing lists too.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp0ZOcF3wF0H.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] lash-0.6.0 release candidate 1

2008-10-10 Thread Nedko Arnaudov
I would like to ask LASH beleivers and other interested parties to test
the first release candidate for 0.6.0. Juuso Alasuutari and me have been
doing some major changes to the lash code. We have done lot of work,
we've fixed several big implementation issues and we need stable point
before doing more changes (0.6.1 and 1.0 milestones).

In the tarball there is simple lash_control script. One can also control
LASH through patchage-0.4.2 and through lpatchage (availabe through
git).

User visible changes since 0.5.4:
 * Use jack D-Bus interface instead of libjack, enabled by default, can
   be disabled. Ticket #1
 * Allow controlling LASH through D-Bus. Ticket #2
 * Use D-Bus autolaunching instead of old mechanism. Ticket #3
 * Log file (~/.log/lash/lash.log) for LASH daemon. Ticket #4
 * Client stdout/stderr are logged to lash.log, when clients are
   launched by LASH daemon (project restore). Ticket #5
 * Improved handling of misbehaved clients. Ticket #45
 * Projects now can have comment and notes associated. Ticket #13

Download:

http://download.savannah.gnu.org/releases/lash/lash-0.6.0~rc1.tar.bz2
http://download.savannah.gnu.org/releases/lash/lash-0.6.0~rc1.tar.bz2.sig

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpuGudo5NQGm.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Specification issues in open systems

2008-09-28 Thread Nedko Arnaudov
Chris Williams [EMAIL PROTECTED] writes:
 Paul Davis wrote:
 The biggest obstacle of all was the still-unsolved issue
 of GUI toolkit compatibility.

[snip]

 LV2 seeks to solve this via the extension mechanism. This
 is one of the areas I'm really not happy about, especially
 the current (admittedly tentative) extension mandating not
 only a gui toolkit (gtk), but also the idea that the plugin
 should implement the Widget interface while the host should
 already be running the gtk main loop. Ouch. The problem
 with the extensibility argument is that no host is going to
 implement it fully, properly or consistently (as mentioned,
 it's hard enough for this to happen with a tightly-defined,
 compact spec) which leaves client developers still not
 knowing what they are dealing with.

 DSSI, IMO, *attempted* to get this right. Implicit in the
 DSSI spec is an acknowledgment that a plugin spec can't be
 in the business of mandating gui solutions on a platform
 with many to choose from, so they tried to find a way
 around it using a remote gui which communicates with the
 host via OSC. I'm not sure this is entirely correct,
 either, but it's at least more right than several other
 ways of doing it (*cough* LV2), especially the central idea
 of trying to abstract the gui away from the architecture.

AFAIK it is perfectly possible to implement LV2 UI extension that
handles GUIs in DSSI way, i.e. through OSC. This is probably the best
approach if plugin author wants single custom GUI that works for most
hosts. The fact that only GTK variant is defined, is caused by the fact
that all currently involved parties tend to like GTK and use it in their
hosts/plugins. I'm one of them, but I like generated UI's more, one of
the reasons I've started dynparam extension work some time ago.

So, if one wants custom GUI, options are:
 * Write one GUI per toolkit
 * Write single out-of-process GUI and route it through OSC, DSSI-like,
   or some other IPC mechanism.
 * Use low level X protocol, if possible at all - see Fons Adriaensen's
   followup mail.

If you want single GUI that could work in any host, the additional
option is generating it through some UI description mechanism, with
dynparams extension being one that I use.

As a side note, I think Lars Luthman made some time ago a research into
hosting QT plugins in GTK host or vice versa, but I'm not sure what the
result was.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgp4jziPtKu5J.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] a2jmidid version 4 Devsirme released

2008-08-03 Thread Nedko Arnaudov
a2jmidid is a project that aims to ease usage of legacy ALSA sequencer
applications, in a JACK MIDI enabled system.

a2jmidid implementation is based on jack-alsamidi-0.5 that is [almost]
same as jackd ALSA seq MIDI backend, both created by Dmitry Baikov.

Static bridges are based on code by Sean Bolton and Lars Luthman.

Homepage with screenshots: http://home.gna.org/a2jmidid/

Tarball download: http://download.gna.org/a2jmidid/

Changes since version 3:
 * Fix typos in docs
 * Disable use of C++ demangling in sigsegv. Fix for sr #2074
 * Fix a2j_control help text (thanks kfoltman!)
 * Request fixed JACK client name. Fix for bug #12139
 * Handle missing svnversion executable nicely. Fixes bug #12138

Changes since version 2:
 * Improved port naming, support for bidirectional ports
 * Allow exporting of hardware ports (disabled by default)
 * Switch from autotools to waf
 * Remove support for old JACK MIDI API variants
 * Remove usage of posix semaphores that could cause sleep in realtime context, 
in rare circumstances
 * D-Bus background service mode. The old manual mode is still working.
 * Log file when running in background service mode.
 * Improved documentation
 * Import, with slight modifications, static bridges created by Sean Bolton and 
Lars Luthman.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpR9wVXuNpxi.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[LAD] [ANN] a2jmidid version 3 Bodrum released

2008-08-02 Thread Nedko Arnaudov
a2jmidid is a project that aims to ease usage of legacy ALSA sequencer
applications, in a JACK MIDI enabled system.

a2jmidid implementation is based on jack-alsamidi-0.5 that is [almost]
same as jackd ALSA seq MIDI backend, both created by Dmitry Baikov.

Static bridges are based on code by Sean Bolton and Lars Luthman.

Homepage with screenshots: http://home.gna.org/a2jmidid/

Tarball download: http://download.gna.org/a2jmidid/

Changes since version 2:
 * Improved port naming, support for bidirectional ports
 * Allow exporting of hardware ports (disabled by default)
 * Switch from autotools to waf
 * Remove support for old JACK MIDI API variants
 * Remove usage of posix semaphores that could cause sleep in realtime context, 
in rare circumstances
 * D-Bus background service mode. The old manual mode is still working.
 * Log file when running in background service mode.
 * Improved documentation
 * Import, with slight modifications, static bridges created by Sean Bolton and 
Lars Luthman.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpOvXsb4lQQr.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Writing a library?

2008-07-23 Thread Nedko Arnaudov
Julien Claassen [EMAIL PROTECTED] writes:

 Hi!
Yes the autotools are good. cmake might be better, but it is not as well 
 known and often used as autotools and scons.
As I heard scons should be enough for a lot of things. Even for multi 
 platform stuff. Csound uses it and seems fine with it and a couple more linux 
 (multiplatform) applications like ardour.
my choice would always be between autoconf/automake/et al. and scons. For 
 both learning is necessary. For scons it's python and for the autotools it's 
 the macro-language. Both seems to have nice reference docs...

I'd sugeest you waf, takes goods sides of autotools (separate configure
stage), scons (python) and cmake (nice progress indication). And even
has good features that are unique. Like. waf being part of source tree,
thus multiple developers cannot end with having different versions of
the build tool.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpXmrgodW6UA.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] latency issues (practical aid needed on a practical example) (fwd)

2008-06-11 Thread Nedko Arnaudov
Julien Claassen [EMAIL PROTECTED] writes:

 Hi everyone!
(this was first posted on Linux-Audio-Users, but is probably really more 
 suited to this list.)
I just compiled a sound generator, which can be controlled vai MIDI, it 
 uses 
 simpe raw-midi and jack as output, via bio2jack.
Now I have horrible latency 0.2-0.5sec (rough estimate). Where should I 
 start 
 looking in my setupt. I know others had the software running without problems.
Sorry for being so abstract, but I'm not allowed to mention the software. 
 :-(
I already tried setting internal audio-buffer to 128 samples and reducing 
 message queues for the tonegenerator and MIDI. Still it's much too much 
 latency. Does bio2jack have some settings for reducing latency? Does bio2jack 
 do samplerate conversion, is it costly? The sound-engines samplerate is set 
 to 
 44100 or 22050 and my JACKd runs at 48000.

But I could post parts of the source if necessary.
My setup is:
 Debian Lenny with custom built kernel 2.6.24-rt1
JACK subversion 0.109.0
jack-commandline:
 jackd --timeout 4500 -R -d alsa -d hw:1 -r 48000 -p 128 -H -M -z shaped
ALSA version 1.0.15
Any idea where to optimise?
Kindest regards
   Julien

Realtime addicted people tend to use JACK with realtime kernel and JACK
MIDI ;) No bio2jack eresy :P

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpWKmvWkmQUn.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] More proposed LV2 addition/extension stuff

2008-06-10 Thread Nedko Arnaudov
Krzysztof Foltman [EMAIL PROTECTED] writes:

 Steve Harris wrote:
 You're right, we never defined the lv2:binary predicate.
   
 While you're adding stuff to lv2core, you might as well consider adding 
 some of those (+/- any discussions that arise and probably rewrite in 
 proper English), or perhaps I should move some of them into separate 
 extension(s):

 :trigger a :PortProperty ;
 rdfs:label Trigger ;
 rdfs:comment 
 Indicates that the data item should be considered a Boolean value 
 corresponding to the specific event that was detected (control output 
 ports) or is to be triggered (control input ports). For input ports, the 
 port needs to be reset to false by the host (any value less or equal 
 than 0) after run() function is called.
  .

 (Boolean? discrete? based on if :integer or :toggle is present? a 
 feature that says :trigger that is supported? use special labeled events 
 instead?)

 :supportsStrictBounds a :Feature
 rdfs:label   Supports strict bounds ;
 rdfs:comment 
 Indicates use of host support for :hasStrictBounds port property. A 
 plugin that specifies it as optional feature can omit value clamping for 
 :hasStrictBounds ports, if the feature is supported by the host. When 
 specified as required feature, it indicates that the plugin does not do 
 any clamping for input ports that have a :hasStrictBounds property.
  .

 :hasStrictBounds a :PortProperty ;
 rdfs:label Has strict bounds ;
 rdfs:comment 
 For hosts supporting the :supportsStrictBounds, it indicates that the 
 value of the port should never exceed port's minimum and maximum control 
 points. For input ports, it moves the responsibility for limiting the 
 range of values to host, if it supports :supportsStrictBounds. For 
 output ports, it indicates that values within specified range are to be 
 expected, and breaking that should be considered by the host as error in 
 plugin implementation.
  .

 These probably belong somewhere else, but I'll post them anyway:

 :expensive a :PortProperty ;
 rdfs:label Changes trigger expensive calculation ;
 rdfs:comment 
 Input ports only. Indicates that any changes to the port value may 
 trigger expensive background calculation (eg. regenerate some lookup 
 tables in background thread). Any value changes may have not have 
 immediate effect at all, or may cause silence or diminished-quality 
 version of the output data to be produced until background processing is 
 finished. Ports having that property are typically not well suited for 
 connection to outputs of other plugins, and should not be offered as 
 connection targets or for automation by default.
  .

 :causesArtifacts a :PortProperty ;
 rdfs:label May cause audio artifacts when changed ;
 rdfs:comment 
 Input ports only. Indicates that any changes to the port value may 
 produce slight artifacts to produced audio signals (zipper noise and 
 other results of signal discontinuities). Connecting ports of this type 
 to continuous signals is not recommended, and when presenting a list of 
 automation targets, those ports may be marked as artifact-producing.
  .

 :continuousCV a :PortProperty ;
 rdfs:label Carries a smooth modulation signal ;
 rdfs:comment 
 Indicates that the port carries a smooth modulation signal. Control 
 input ports of this type are well-suited for being connected to sources 
 of smooth signals (knobs with smoothing, modulation rate oscillators, 
 output ports with continuousCV type etc). Typically, a plugin with this 
 type of ports will implement appropriate smoothing to avoid audio artifacts.
  .

 :discreteCV a :PortProperty ;
 rdfs:label Carries a discrete modulation signal ;
 rdfs:comment 
 Indicates that the port carries a discrete modulation signal. Input 
 ports of this type are well-suited for being connected to sources of 
 discrete signals (switches, buttons, classifiers, event detectors etc.). 
 May be combined with :trigger property.
  .

Having these things defined (either as part of core or as extension(s))
would be very useful. Hosts rendering generic UIs like zynjacku will use
them for sure.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpTX7KYPAlfI.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Let's kill EPAMP???

2008-06-03 Thread Nedko Arnaudov
Stefano D'Angelo [EMAIL PROTECTED] writes:

 #3. Some serious connection logic thing (all the equal channels thing 
 etc.).
 This needs a thousand flame wars and *deep* thinking.

 No idea what you mean by this.

 If someone is going to write that helper library (or adjust SLV2 or
 whatever), I guess we should find some reasonable conventions to
 organize and use plugins in a chain-like thing. This is damn hard, as
 Paul Davis outlined already on this mailing list, and I actually don't
 know to which degree it should be done.

Looks like good cadidate for separate helper library. But as Paul said,
proably each player will end with its own helper library.

 Example: some LV2 extension tells the host that which parameter is a
 quality vs. speed parameter in a plugin. The host can, then, show a
 global quality vs. speed parameter to the user.

In dynparam extension there are hints for this. They could be used as
generic UI generation hints, as MIDI mapping hints or as quality
vs. speed hint. I think this could be done for normal LV2 ports too,
i.e. assigning hint URIs with a port.

 #7. Global explicit initialization/finalization functions for more
 exotic platforms (they wouldn't harm, so why not having them).

 I still dont get what is the use case for this.

 Both on the host side and on the plugin side, no need for #ifdefs to
 define initialization/finalization functions and maybe support for
 exotic platforms not having them.

I dont see what you will do within those global
initialization/finalization functions. That thing needs to be something
not platform specific. This can be made as separate thing that can be
reused for other things too. The same way libtool is asbtraction to
shared libraries.

 #8. Rules to find plugins possibly platform-specific and outside of
 the specification; possibly one compile-time valid path.

 AFAIK, this conficts with LV2 spirit. Why one needs this? If the goal
 is to avoid RDF Turtle, this shouldnt be issue with proper helper
 library for hosts. Still such feature could be implemented in such a
 helper library.

 Nope. I mean there should be platform-specific rules to get the list
 of directories containing shared object files and possibly there
 should be a fixed path to check on each platform, known at compile
 time.

Interface to SLV2 (-like) library should definitively allow modification
of directory list.

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpTRkXb9nYzk.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] Let's kill EPAMP???

2008-06-03 Thread Nedko Arnaudov
Stefano D'Angelo [EMAIL PROTECTED] writes:

 #7. Global explicit initialization/finalization functions for more
 exotic platforms (they wouldn't harm, so why not having them).

 I still dont get what is the use case for this.

 Both on the host side and on the plugin side, no need for #ifdefs to
 define initialization/finalization functions and maybe support for
 exotic platforms not having them.

 I dont see what you will do within those global
 initialization/finalization functions. That thing needs to be something
 not platform specific.

 Well, I for example would use them with NASPRO to fill the plugin with
 all effect descriptors (don't know yet how to do with RDF/Turtle, but
 I'll find a way).

 This can be made as separate thing that can be
 reused for other things too. The same way libtool is asbtraction to
 shared libraries.

 ?

You need absatraction for defining global constructor/destructor in
shared library. As Larsl already said, you can use some C++ tricks (like
constructor of global object), for this. In my vision, such thing is
bound to creation of shared library file, this is why I mentioned
libtool.

 #8. Rules to find plugins possibly platform-specific and outside of
 the specification; possibly one compile-time valid path.

 AFAIK, this conficts with LV2 spirit. Why one needs this? If the goal
 is to avoid RDF Turtle, this shouldnt be issue with proper helper
 library for hosts. Still such feature could be implemented in such a
 helper library.

 Nope. I mean there should be platform-specific rules to get the list
 of directories containing shared object files and possibly there
 should be a fixed path to check on each platform, known at compile
 time.

 Interface to SLV2 (-like) library should definitively allow modification
 of directory list.

 Which kind of modification?

 * get list of lv2 plugins (extracted from LV2_PATH by slv2)
 * modify that list (add/remove directories)
 * (maybe) get path of directory where plugin resides

-- 
Nedko Arnaudov GnuPG KeyID: DE1716B0


pgpTjjDQURm4i.pgp
Description: PGP signature
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


  1   2   >