-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
37 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,23 @@ | ||
2024-09-01 Michael Herstine <[email protected]> | ||
|
||
Cut release 0.3.1 | ||
|
||
Add a Texinfo manual to the project. | ||
This patch will also add a Github Actions workflow `ci` that will | ||
be run on push, PR, &c. | ||
|
||
2024-08-30 Michael Herstine <[email protected]> | ||
|
||
Cutting release 0.3.0 | ||
|
||
2024-08-29 Michael Herstine <[email protected]> | ||
|
||
Add two new functions: `elmpd-conn-status' and `elmpd-conn-failed-p'. | ||
This patch adds two new utility functions for checking the status | ||
of an elmpd connection. In addition it tidies up several docstrings, | ||
and adds some utility scripts (under 'admin') for validating | ||
commits. | ||
|
||
2024-02-08 Michael Herstine <[email protected]> | ||
|
||
Fix two nits. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
#+TITLE: elmpd | ||
#+DESCRIPTION: A tight, async mpd library in Emacs Lisp | ||
#+DATE: <2024-09-01 Sun 17:10> | ||
#+DATE: <2024-09-01 Sun 17:59> | ||
#+AUTHOR: sp1ff | ||
#+EMAIL: [email protected] | ||
#+AUTODATE: t | ||
|
@@ -26,14 +26,14 @@ The simplest way to install [[https://github.com/sp1ff/elmpd][elmpd]] is from [[ | |
You can also install the package manually. Download the .tar file from [[https://github.com/sp1ff/elmpd/releases][Github]] or my personal [[https://www.unwoundstack/distros.html][page]] and say: | ||
|
||
#+BEGIN_SRC elisp | ||
(package-install-file "elmpd-0.3.0.tar") | ||
(package-install-file "elmpd-0.3.1.tar") | ||
#+END_SRC | ||
|
||
I'm now making GitHub releases that include Autotools source distributions: | ||
|
||
#+BEGIN_SRC bash | ||
curl -L --output elmpd-0.3.0.tar.gz https://github.com/sp1ff/elmpd/releases/download/0.2.4/elmpd-0.2.4.tar.gz | ||
tar xf elmpd-0.3.0.tar.gz && cd elmpd-0.3.0 | ||
curl -L --output elmpd-0.3.1.tar.gz https://github.com/sp1ff/elmpd/releases/download/0.3.1/elmpd-0.3.1.tar.gz | ||
tar xf elmpd-0.3.1.tar.gz && cd elmpd-0.3.1 | ||
./configure && make all check | ||
sudo make install | ||
#+END_SRC | ||
|
@@ -55,9 +55,9 @@ User documentation is provided with the package, and may also be found | |
|
||
[[https://github.com/DamienCassou][Damien Cassou]], the author of [[https://github.com/mpdel/mpdel][mpdel]] and [[https://gitea.petton.fr/mpdel/libmpdel][libmpdel]], [[https://github.com/sp1ff/elmpd/issues/1][reached out]] to ask "Why elmpd?" His question prompted me to clarify my thoughts around this project & I've adapted my response here. | ||
|
||
I've looked at a few [[https://www.musicpd.org/][MPD]] clients, including [[https://github.com/mpdel/mpdel][mpdel]]. As I experimented with my workflow, however, I found myself wanting _less_ functionality: rather than interacting with a fully-featured client, I just wanted to skip to the next song while I was editing code, for example. I customize my mode line heavily, and I wanted a little bit of logic to add the current track to the mode line & keep it up-to-date. I have written a companion [[https://github.com/sp1ff/mpdpopm][daemon]] to MPD that maintains ratings & play counts; I just needed a little function that would let me rate the current track while I was reading mail (in Emacs, of course!) | ||
I've looked at a few [[https://www.musicpd.org/][MPD]] clients, including [[https://github.com/mpdel/mpdel][mpdel]]. As I fine-tuned my workflow, however, I found myself wanting _less_ functionality: rather than interacting with a fully-featured client, I just wanted to skip to the next song while I was editing code, for example. I customize my mode line heavily, and I wanted just a little bit of logic to add the current track to the mode line & keep it up-to-date. I have written a companion [[https://github.com/sp1ff/mpdpopm][daemon]] to MPD that maintains ratings & play counts; I just needed a little function that would let me rate the current track while I was reading mail, for instance. | ||
|
||
My next move was to read through a number of client libraries for inspiration, both in C & Emacs LISP. Many of them had strong opinions on how one should talk to MPD. Having been programming MPD for a while I had come to appreciate its simplicity (after all, one can program it from bash by simply =echo=-ing commands to =/dev/tcp/$host/$port=). My experience with async Rust inspired me to see how simple I could make this using just callbacks. =elmpd= exports two primary functions: =elmpd-connect= & =elmpd-send=. Each connection consumes a socket & optionally a callback-- that's it (no buffer, no transaction queue). Put another way, if other libraries are Gnus (featureful, encourages you to read your e-mail in a certain way), then elmpd is [[https://mailutils.org/][Mailutils]] (small utilities that leave it up to the user to assemble them into something useful). | ||
My next move was to read through a number of client libraries for inspiration, both in C & Emacs LISP. Many of them had strong opinions on how one should talk to MPD. Having been programming MPD for a while I had come to appreciate its simplicity (after all, one can program it from bash by simply =echo=-ing commands to =/dev/tcp/$host/$port=). My experience with async Rust inspired me to see how simple I could make this. =elmpd= exports two primary functions: =elmpd-connect= & =elmpd-send=. Each connection consumes a socket & optionally a callback-- that's it; no buffer, no transaction queue. Put another way, if other libraries are Gnus (featureful, encourages you to read your e-mail in a certain way), then elmpd is [[https://mailutils.org/][Mailutils]] (small utilities that leave it up to the user to assemble them into something useful). | ||
* Status & Roadmap | ||
|
||
As of September 2024 I'm calling this "1.0". The package is ripe for being used to build up a more caller-friendly API: =(something-play)= instead of: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
@set UPDATED 2 September 2024 | ||
@set UPDATED-MONTH September 2024 | ||
@set EDITION 0.3.0 | ||
@set VERSION 0.3.0 | ||
@set EDITION 0.3.1 | ||
@set VERSION 0.3.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
;; Copyright (C) 2020-2024 Michael Herstine <[email protected]> | ||
|
||
;; Author: Michael Herstine <[email protected]> | ||
;; Version: 0.3.0 | ||
;; Version: 0.3.1 | ||
;; Keywords: comm | ||
;; Package-Requires: ((emacs "25.1")) | ||
;; URL: https://github.com/sp1ff/elmpd | ||
|
@@ -67,7 +67,7 @@ | |
|
||
(require 'cl-lib) | ||
|
||
(defconst elmpd-version "0.3.0") | ||
(defconst elmpd-version "0.3.1") | ||
|
||
;;; Logging-- useful for debugging asynchronous functions | ||
|
||
|