[Fedora-music-list] [Fwd: [PlanetCCRMA] Planet CCRMA menu tree for fcx] (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Check this. 

--g

-------------------------------------------------------------
Greg DeKoenigsberg || Fedora Project || fedoraproject.org
Be an Ambassador || http://fedoraproject.org/wiki/Ambassadors
-------------------------------------------------------------

---------- Forwarded message ----------
Date: Tue, 02 May 2006 23:08:19 -0700
From: Fernando Lopez-Lezcano <nando@xxxxxxxxxxxxxxxxxx>
To: Greg DeKoenigsberg <gdk@xxxxxxxxxx>
Cc: nando@xxxxxxxxxxxxxxxxxx
Subject: [Fwd: [PlanetCCRMA] Planet CCRMA menu tree for fcx]

Just to keep you up to date on relevant stuff...
(let me know the moment I send too much stuff to your account :-)

-------- Forwarded Message --------
From: Fernando Lopez-Lezcano <nando@xxxxxxxxxxxxxxxxxx>
To: planetccrma@xxxxxxxxxxxxxxxxxx
Subject: [PlanetCCRMA] Planet CCRMA menu tree for fcx
Date: Tue, 02 May 2006 22:50:15 -0700

Hi all... I'm starting work on the Planet CCRMA menu tree for fc5[*] -
which will later percolate to previous fc versions (I think I know now
what I need to do, at least on fc5, some tests today were successful). 

It used to be (in fc3) that the menu tree _and_ the desktop entries were
all part of the Planet CCRMA menu packages. There were several reasons
for this, but all (I think) are historical at this point (mainly because
I started working on the menus long after I released the packages and I
did not want to rerelease everything just to fix them). 

It makes sense now to fix this before starting to release more stuff
(the "menuable" packages I released are not that many so far), and
incorporate the categories into the .desktop files included in the
packages themselves. 

The way this would work is that the most important or unique packages
(good luck defining what that is!) would show up automatically in the
"Sound and Video" menu, and those, and the rest, would be (more or less)
neatly organized in the Planet CCRMA submenu tree. If the
"planetccrma-menus" package is not installed you would just get the
"Sound and Video" menu with the crucial packages there. 

There are two aspects to this, one is how to split apps into categories,
and the second is what visible names to give the categories. Things can
be fixed later but the internal category names in the .desktop files
will stay for a while, I imagine. Anyway, a good start is better than
nothing. 

So it would be good to take a look at the old tree to see how it looks
today, so, this is what I used to do (comments through the list, "_"
would be transformed into " " for the menu text):

  ALSA_Mixers

(probably should be changed to just "Mixers"?, hmm, or "Soundcard
control"?, this includes general purpose mixers like gamix and card
specific programs like echomixer, hdspmixer, envy24control, etc)

  Digital_Processing
  Drumming
  DSSI_Plugins
  Graphics
  Jack_Apps

(maybe a better name would be just "Jack"? or "Jack_and_friends"?)

  LADSPA_Plugins
  MIDI

(sequencers _and_ midi utilities)

  Miscellanea
  Multitrack
  Notation
  Patch_Bays
  Players
  Programming
  Recorders
  Sequencers

(maybe "Sequencers" is redundant given that we have midi already?, not
to my eyes at least for now)

  Sound_Editors
  Synthesis

(should this be part of "Digital Processing"?)

  System

(this should probably go, it contained only "Synaptic" - which really
does not belong there - and I can't think of anything else that belongs
here)

  Trackers
  Video

("Video" could be split, I guess, but that could be done later)

[maybe another category for "measuring instruments"? Like jaaa, japa,
kmidimon, etc?, can't think of a proper name for that]

Each one of the submenus has entries for starting up the app, and then
two additional submenus, one for documentation (with links to the online
web pages for each program and local documentation when available), and
another one for "extra" applications that could be bumped from the main
submenu into the subsubmenu. The submenus don't appear if there's
nothing in them. In some occasions there could be documentation links
and _no_ entry for the program itself, a perfect example is ecasound. It
is a command line utility but very very useful. Having it in the menu
somewhere is good because it raises awareness of the program for users
that don't venture to the command line. I used to have also another
submenu for popping up man pages, probably overkill (and something that
could be added later). 

Applications can map into more than one category of course, I'm
attaching a file that has a dump of what my old script created so that
you can see what I mean. Some examples:

ardour:Jack_Apps
ardour:Multitrack
ardour:Recorders

or should we have an "Audio Workstations" category, whatever that means?

rosegarden4:MIDI
rosegarden4:Notation
rosegarden4:Sequencers

zynaddsubfx:Jack_Apps
zynaddsubfx:MIDI
zynaddsubfx:Synthesis

freqtweak:Digital_Processing
freqtweak:Jack_Apps

libfishsound:Programming
libgig:Programming
liblo:Programming
liblrdf:Programming
liblscp:Programming
liboggz:Programming
... and more ...

Anyway, you get the idea. Obviously any categorization will leave
someone unhappy but it is better to have something rather than nothing
(as is proven by the humongous "Audio and Video" menu in fc4). I'll move
fast on this as it has to be somehow solved before I start releasing
more packages for fc5 (each package will have the category names
hardwired into its .desktop file). 

One more problem is the contents of the .desktop entries themselves.
Usability is not always a priority for linux audio software
developers :-) Some packages, if not started with the proper command
line incantation just die without warning and that's not good. 

For example, Jack clients. Some pop up a window and say something if
Jack is not already running, others just die and print something to
stderr, which will mean that if you start them from a menu you don't see
anything. When I generated the Planet CCRMA specific .desktop entries
separately from the packages this was less of a problem as I could, for
example, make the command line "qjackctl /usr/bin/ardour" in
the .desktop file and then qjackctl would first start jack and then
spawn ardour and everyone would be happy. A second invocation of a
different program from the menu, for example "qjackctl aeolus -J" would
find the first instance of qjackctl and then just start aeolus, etc,
etc. But this all predicates on qjackctl being there already, which you
could mandate through explicit "Requires:" in the packages, but that's
certainly overkill (there's no real need for qjackctl to be there, you
could be starting Jack in a terminal and all Jack clients would be
perfectly happy!). 

So I feel inclined to just assume that Jack is actually running (for
programs that are Jack clients, of course) and just add the command line
switches that some programs need to tell them they should use Jack. That
can/will break using those programs from the menu with just ALSA, for
example. But well, you can't have everything. Otherwise those programs
will break when trying to use Jack. 

Tricks can be done with scripts so that they capture stderr and pop up a
window with its contents when the program exits with an error code but
then you have to either include the script everywhere or test for it or
whatever and again everything is more complicated which is bad. Anyway,
that would be a band-aid and not a cure (which would be to fix the
program so that it does reasonable things when run from a menu). 

Enough for now. 

Wow, this was long... anyone still reading? :-)
Any thoughts?
-- Fernando


[Index of Archives]     [Linux Audio Users]     [ALSA Users]     [Fedora Development]     [Fedora Desktop]     [Fedora Users]     [Gimp]     [Yosemite News]

  Powered by Linux