[yoshimi] Re: adding external midi controller

  • From: <distro@xxxxxxxxxxxxxxxxx>
  • To: Yoshimi <yoshimi@xxxxxxxxxxxxx>
  • Date: Tue, 1 Jan 2019 00:10:45 +0100 (CET)

OK. I have come to both a conclusion and resolution. I did get it to work and I 
will explain how. But first I want to capstone and address the bad dialogue 
that happened here. I also invite you to re-look into my simple question and 
actual detailed outline/scenario that came with it. And then to the next and 
final message in which I will simply and concisely type instructions (for 
apparently users new and old) to comprehend current situation briefly and also 
to note how to give short, efficient feedback. Note my thread/email title. From 
step one, I type that name so others in future, if needed, can search and find 
and answer QUICKLY AND WITHOUT GRIEF.

- GENERAL STATEMENT -

#1 I do want to point out (and I don't care, rudeness deserves rudeness) ZB / 
Zbigniew was 100% wrong in not only facts or perception but his attitude and 
response for me. I am a very informed linux user as well as communicator and 
developer etc. Most of all I am a normal average person who understands details 
and simple clear process and instructions are important and to relate and 
communicate in writing and documentation towards people not assuming they are 
overly familiar with utilities or regularly use and fiddle with audio drivers, 
soundcards etc. Common sense or they might not be coming with questions to a 
mailing list.

#2 Further there are a wide range of utilities available on linux, some cli 
(commandline interface) and gui (general user interface). GUI exists and is 
called General User Interace - for just that.. common regular computers users, 
no in-depth "dependencies" or familiarity/knowledge based requirements. Only a 
knucklehead would not understand this and just be polite. I believe people can 
always change and improve, so I say this purely as constructive criticism and 
feedback.

Never assume people's familiarity with any particular package or even basely 
their remembrance of utilities. Some of the smartest and most technical 
developers and linux users understand not to live in a box. This had been a 
longstanding issues and why it literally took 2 decades for basic simple GUI 
and toolkits to develop. 

Any thank you to those who provided and attempted to help me resolve the issue.

In my next final message, I will provide simple solution and pertaint 
explanation. I assume Will can respond similarly regarding to verify the ALSA 
issue and possible goals to improve the GUI (and Will, not realtime connection, 
I obviously was talking about when a midi controller is plugged in and 
recognized by the system).

- FOR WILL - 
(please see message below.)

Will - please comment back on the ALSA issue see message below. So my verdict 
or discovery here is (you can just verify)

###

Dec 31, 2018, 4:47 PM by distro@xxxxxxxxxxxxxxxxx:

Will,

yes to reiterate (and it appears you understand)

for example, with pkg alsa-utils, you can run command:
$ aconnect -i

RESULTS:
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'Impact LX25+' [type=kernel,card=1]
    0 'Impact LX25+ MIDI 1'
    1 'Impact LX25+ MIDI 2'

1. Now the key value here would be client 20: Impact LX25+
The identifier and which all other programs, whether it be the pkg alsa-mixer 
will identify as the sound source (along with Intel, PulseAudio, soundcards 
etc)

2. For an example, easily seen I assume VMPK is available widely for most 
distros..

You can go to the Edit > Midi Connections. With ALSA selected as driver, 
you'll see a drop-down where you can keyword: specify the driver, which 
displays the identifier: "Impact LX25+"

3. Now in Yoshimi, under Yoshimi < Settings, under ALSA tab, you do have a 
form-field it appears where you should be able to specify this value "Impact 
LX25+" similarly. SEE form field "Alsa Midi Source"

See the logic? It is not a drop-down currently but a form text field. It 
would be great at least if one could just pop in their midi-controller and 
value. And obviously the coding behind making a simple drop-down would be 
warranted if function.

4. So the question is: is this form field functional? Is there a method into 
which one can specify their midi controller under ALSA. ( simple yes or no on 
the first will suffice, latter question, if yes, how?)

In reference to below, note the difference,

$ aconnect -l

RESULTS
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'Impact LX25+' [type=kernel,card=1]
    0 'Impact LX25+ MIDI 1'
    1 'Impact LX25+ MIDI 2'
client 128: 'yoshimi' [type=user,pid=28366]
    0 'input       

THUS, naturally tried the client in the field, rebooted etc. No dice.

So still working on it, I am guessing then there is no direct way currently 
to config ALSA?
#




Dec 31, 2018, 4:28 PM by > willgodfrey@xxxxxxxxxxxxxxx 
<mailto:willgodfrey@xxxxxxxxxxxxxxx>> :

Going back to the start...

First of all, please keep in mind that Yoshimi has a *very* small number of
people who can devote a lot of time to it. That small number being 1 - me :(

When I first looked at the MIDI code it didn't attempt to make any connection
at all (neither did most other software I came across). Some stuff did, and
used the ALSA port primitives to connect to the first device it saw. Which 
was
highly dependent on what order things are started up, and assumed no 
re-starts.

None of this mattered much to most people as qjackctl was used to quickly 
link
stuff together by name, or they used session software. Also Rosegarden (my
sequencer of choice) could find Yoshimi and auto connect to it if configured 
to
do so. That last bit is important because if it was not configured to, then
trying to connect via qjackctl would appear to work but Rosegarden ignored 
the
connection - it had to be the boss.

Over a period of time I worked out how to identify a source by ID (rather 
than
port number) if it was known, and provided the entry in the ALSA tab for 
that.
If you know the ID the hardware reports (which may not be quite the same as
printed by aconnect -l) just enter that, save settings and Yoshimi will find 
it
and connect to it every time it starts.

That did everything I wanted it to at that time, and apparently what everyone
else wanted, so I moved on to other more important issues.

I would refer you to "The Short Yoshimi Guide.odt" in the "doc" directory for
some more info on this.

This is the first time anyone has raised this since then, and although I'll 
put
it on the list, I can tell you there is still much more that Yoshimi *really*
needs.

If we were really smart we'd be able to find inputs in real time as they
appear, but although that is easy to suggest, it is enormously complex to
implement.

Yoshimi is first and foremost a soft-synth, When Cal forked it from Zyn 2.4.1
he initially stripped out everything that was not essential, and since I've
been in the driving seat I've tried to keep as close to that as seems
reasonable.


-- 
Will J Godfrey
http://www.musically.me.uk ;<http://www.musically.me.uk>
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
Yoshimi source code is available from either: >> 
https://sourceforge.net/projects/yoshimi ;
<https://sourceforge.net/projects/yoshimi>
Or: >> https://github.com/Yoshimi/yoshimi ;
<https://github.com/Yoshimi/yoshimi>
Our list archive is at: >> https://www.freelists.org/archive/yoshimi ;
<https://www.freelists.org/archive/yoshimi>
To post, email to >> yoshimi@xxxxxxxxxxxxx <mailto:yoshimi@xxxxxxxxxxxxx>




Other related posts: