Re: Editing zynadsuxfx/yoshimi patches?

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

 



Hello!
So I finally went through the thread and collected ideas and thoughts. Here they are, a little chaotic still, but I suppose from there we can go on, adding to it, shifting things.
Proposal for a good CLI access to audio (and other?) software
The interface should have two parts:
1. a shell-like commandline
2. an interactive fullscreen mode

Random thoughts:
* Use a tree structure for commands/parameters
* Have expand/collpase function for the parameter view (aptitude, mail-clients)
* Parameters are searchable (the tree-structure is searchable for node-data)
* Always move the real cursor (no soft cursor) to the actual parameter
* Encourage programmers to use consistent long and short commands for the shell part
* leave fullscreen mode by colon and enter by ESC

Questions:
* Which keys/mechanisms to use for collapse/expand?
* How to move between parameters on one level?
* What about real menus (as in file, view, edit,...)?
* Can one assume, that OSC is always the easiest/fastest choice and hardcode it?
* Would the commandline mainly just echo the fullscreen tree-structure?
* Would the commandline hold special (non fullscreen) commands?

  I thought about a few of the questions and here are my tentative answers:
* Which keys/mechanisms to use for collapse/expand?
In alpine/pine the folder list (one major level of the tree) can be navigated by using the cursor (all directions). ENTER is used to access a folder (go down the tree). Only in the sublevels entries (mails) are listed one underneath the other. So cursor left goes back. Best to think of a different way, so one can have more compressed layouts, probably organise strongly related parameters in one row. For example Attack Decay Sustain and Release.

* How to move between parameters on one level?
Well partly answered. I think simple lists (showsn as such) might be very long seeing the amount of parameters Yoshimi has to offer. Or what do you think? It is a little more complicated than aptitude or some of the other examples, since they mostly use it for simple lists or long menus.

* What about real menus (as in file, view, edit,...)?
I think some real menus might occasinally be nice. It's just another tree with a root node, from which the main menus branch out. Might be reached by something like Ctrl+first letter or a printed capital.

* Can one assume, that OSC is always the easiest/fastest choice and hardcode it?
* Would the commandline mainly just echo the fullscreen tree-structure?
If the command line does echo the full screen commands one might use a filesystem like navigation: ls - show all parameters on this level, probably with "/" after them, if they open a sublevel. cd name - change to level "name". get name - get current state, set name <value> - set parameter name to value. Perhaps some more symbols are needed to show things like sublevel, boolean, integer, float, string or list/enumeration. Perhaps get can offer that info. That way a lot can be done by the basic interface infrastructure, without the programmer having to worry about getting all the names correct a second time round. This would make some thing a little longer perhaps, but very consistent. Still shortcuts might be nice. Perhaps they can be implemented as aliases/substitutions:
alias filter_res='set synth/filter/resonance'
  ?

* Would the commandline hold special (non fullscreen) commands?
Should one allow for it or wouldn't it be counter productive at this point? One idea might be to allow setting a whole level in one go. Good for setting plugin parameters. So you might do:
ls effect/reverb
room size
reverb time
bandwidth
damping
dry
early reflection level
tail level
set effect/reverb 50 4.0 0.6 0.6 0 -18 -20
Another thing, which I'll enter into the file shortly: have a pager for the shell output, or at least allow to set one!

So I ope, this doesn't seem too pointless or unorganised... Please someone pounce and make me see the errors of my ways. :-)
  Warm regards
         Julien

--------
Music was my first love and it will be my last (John Miles)

======== FIND MY WEB-PROJECT AT: ========
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
======= AND MY PERSONAL PAGES AT: =======
http://www.juliencoder.de
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux