emms-help
[Top][All Lists]
Advanced

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

Re: [Björn Bidar] Re: best practices for implementing Emms configuration


From: Björn Bidar
Subject: Re: [Björn Bidar] Re: best practices for implementing Emms configuration
Date: Mon, 12 Dec 2022 22:21:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Yoni Rabkin <yoni@rabkins.net> writes:

> Moving this thread of the emacs-devel discussion to the emms mailing
> list.
>
> -------------------- Start of forwarded message --------------------
>>From fetchmail  Sun Dec 11 03: 03:01 2022
> From: Björn Bidar <bjorn.bidar@thaodan.de>
> To: Yoni Rabkin <yoni@rabkins.net>
> Cc: emacs-devel <emacs-devel@gnu.org>
> Subject: Re: best practices for implementing Emms configuration
> Date: Sun, 11 Dec 2022 10:02:52 +0200
>
>> Yoni Rabkin <yoni@rabkins.net> writes:
>
>> >> I think would make more sense to have defaults for common use cases such
>> >> as these then writing a configuration, simplifying the configuration
>> >> rather than making it easier to configure.
>> >>
>> >> For example Circe provides defaults for common IRC server's than can be
>> >> adjusted individually.
>> >>
>> >> Emms could provide similar defaults.
>> >
>> > No reason why mpd configuration can't be a part of the y-or-n-p type of
>> > easy configuration I'm thinking about.
>
>> Why focus on that "wizard" or dialog when the base emms configuration
>> could use some simplification?
>
> The two are not exclusive. Emms setup should be as simple as possible
> AND we can implement "wizards".

Sure nothing against that, just that a wizard might become redundant.

> This is a typical configuration. It will work on a vanilla install of
> Trisquel (an OS which comes with vlc out of the box):
>     (emms-all)
>     (setq emms-player-list '(emms-player-vlc)
>           emms-info-functions '(emms-info-native))

Not sure how relevant Trisquel is here. I think the default should be
something that works on most distributions. With a profile based setup
the distro could resign the default profile if needed.

Slightly offtopic but `emms-info-native` isn't as descriptive, it is not
obvious what works with most formats or what supports all possible features.

> `emms-all' already loads all stable packages, and does some
> configuration to get them going (sane initial setup options that people
> think everyone should have can be added to that.)

> We could, in pseudocode:
>
>    1. set emms-player-list to nil
>
>    2. default to `emms-info-native'.
>
>    3. run player auto-discovery at the end of `emms-all' and set (in the
>       above example where only vlc is installed) a variable called
>       `emms-discovered-player-list' to be '(emms-player-vlc)
>
>    4. When emms.el:emms-player-start is called, it can check to see if
>       `emms-player-list' is nil, and if so, use the first player off of
>       `emms-discovered-player-list'.
>
> This would simplify the base setup for most users to:
>
> (emms-all)
>
> ...which is pretty simple.
>
> By contrast, running an `emms-setup' or similar could take the user
> step-by-step to create a more involved setup. For instance, an
> interactive emms-setup can detect that you have an mpd client on your
> machine and ask if you want Emms to configure itself to use that.
>
>> The two main ways of configuration in Emacs are either manual
>> configuration with setq or setopt preferably with use-package (Emacs
>> 29+) or the custom interface.
>
> setq, setopt, and use-package are the same thing, with use-package being
> a common-lisp-like domain-specific-language for emacs setup. There isn't
> anything we can do to help people with those, except to make sure that
> they don't need to set anything that we can set for them beforehand, as
> above.
Use-package still involves either customize, setq or setopt it doesn't
male them redundant however that's ot.

> I have no kind words for the customize gui. I'm sure that back in the
> day when presenting a user with a grey box full of checkboxes was
> considered an acceptable setup screen for an application, then the emacs
> customize gui was every bit as "good" an idea... the less said the
> better.

If the defaults are good enough for most people and anyone else would
just adjust those defaults if needed than a settings-ui ala customize is
good enough. One could say that wizards are also a "back in the day
thing".
I think the issue with customize is how it exactly works and how it
looks - it does look outdated and is clunky.


>> The configuration should be simple enough that selecting a profile with
>> either should be good enough.
>
> Can you explain what you mean by "profile"? And what "selecting a
> profile" might look like?
>

By profile I mean a preset of what someone could select during the
wizard for example so instead of emms-all there could be emms-default,
emms-mpd, emms-vlc, emms-mpv and so on.
emms-default can be then just an alias to the selected default.

Maybe the profiles shouldn't be by player if the player detection is
enough, except for mpd, but based on different feature levels or
use-cases e.g. emms-minimal.

Br,

Björn



reply via email to

[Prev in Thread] Current Thread [Next in Thread]