[yoshimi] Re: adding external midi controller

  • From: Rainer Hans Liffers <rainer.liffers@xxxxxxxxx>
  • To: yoshimi@xxxxxxxxxxxxx, distro@xxxxxxxxxxxxxxxxx
  • Date: Tue, 1 Jan 2019 11:51:01 +0800

G'day from WA, Distro-mate

_Begin of Aside_
Last time I checked, GUI was an acronym for /Graphical/ User Interface,
/not/ General User Interface.  Just then, I checked again to be sure:

_End of Aside_

So much for being right all the time, Mr Perfect.

On 1/1/19 7:10 am, distro@xxxxxxxxxxxxxxxxx wrote:

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.


#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).

(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:


    yes to reiterate (and it appears you understand)

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

    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

    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

        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*

        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

        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

-- Will J Godfrey
        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:
        Or: https://github.com/Yoshimi/yoshimi
        Our list archive is at: https://www.freelists.org/archive/yoshimi
        To post, email to yoshimi@xxxxxxxxxxxxx

Other related posts: