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 <[email protected]> To: Yoni Rabkin <[email protected]> Cc: emacs-devel <[email protected]> Subject: Re: best practices for implementing Emms configuration Date: Sun, 11 Dec 2022 10:02:52 +0200 > Yoni Rabkin <[email protected]> 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". 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)) `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. 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. > 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? > > But this thread should be picked up in [email protected]. > Posting to emms-help would be good then, there wasn't a post in that > list. here we are
