hugo-heagren / consult-emms Goto Github PK
View Code? Open in Web Editor NEWConsult interface to Emacs MultiMedia System
Consult interface to Emacs MultiMedia System
It would be good to configure proper embark exporters. Lists of tracks could be exported to a playlist buffer, lists of other things (albums, artists, etc) maybe to a specially filtered EMMS browser buffer? And since playlists are just buffers, they can be exported like buffers normally are (or mabe into special filtered metaplaylist buffers? I could see both of these being useful, so maybe there could be a custom variable for controlling which is used for exporting lists of playlists?)
This might be a useful thing to do. We could say that:
consult-emms-library
, so the user can add things to it.Not sure, but it might be fun?
Title. There isn't much to say at the moment, though it might be worth mentioning how little this package actually does (in particular: it doesn't do anything to or for EMMS itself. That configuration is left to the user)/
(As in stored playlists which can be added with emms-source-playlist
.) Might be good ot have a variable dictating where these are generally kept -- a defcustom like consult-emms-playlist-dir
, default value wuld just be to inherit from emms-directory
. Better yet -- propose that EMMS itself have such a variable, and submit a patch for it, then use it here.
Need an easier way to clear the current playlist.
At the moment, the list of keywords used to filter the arglist in consult-emms--playlist
is hard-coded. This works, but it isn't very elegant, or easily maintainable if the arglist changes in future versions of consult. It would be better to get it programmatically. (as the TODO in the code says!)
For the sake of easier installation for users, it would be good to have this in a public repo like MELPA. Gnu ELPA might make sense too.
I would love a genre source; then I could just add all of my folk music at once, shuffle it and and call it a day.
Annotate candidates when listing music items (tracks, albums, etc.), such as in `consult-emms-library).
I want the annotation to be configurable, vertically aligned, and to have annotations in similar spirit for different categories (i.e. a track's and an album's playing time) aligned to each other.
I think the way to do this is to have:
To solve the truncate issue mentioned here, I think the functions for gettng candidate lists will just have to include the ability to truncate? Maybe look into how citar handles this problem. Because of that issue (unless I want to have a long excursion into implementing proper affixation for consult-multi), annotation will have to come after the string. This is something I can live with.
Such that a user in, say, a playlist buffer could call embark-act
on a track and have the same thing happen as if they had called it on a track in a consult-emms minibuffer. This should apply to tracks in playlist buffers, tracks, albums, artists etc. in the browser and to playlists in the metaplaylist buffer.
Instructions here.
Some commands have shorthands for embark-become because one switches between them a lot. The fours entry points are probably a good example.
EMMS playlists are buffers. It might be useful (especially for power users who define their own actions on buffers) to just reuse the buffer keymap in embark? This would remove the need to reinvent the wheel on commonly needed operations (as in 6754e3b). OTOH, the way we store playlists at the moment (in text properties, which allows for prettification of strings or whatever, and is more robust than relying on buffer names) is probably not going to play well with most of those actions. There are also actions (like shufling) that only apply to playlist buffers, but that could be dealt with by making a 'playlist map with the 'buffer map as its parent.
Just putting this here to make myself think about it one day...
This could be useful? It would certainly be a nicer user experience.
Embark integration is happening here. Embark integration has been merged (the README lies!). This is (still) a tracker issue for the actions on different kinds of targets.
(once I've got through these and the package is a bit more stable, I'll close the issue and new isses can be raised for any individual suggested additions)
(both of the above are good candidates for having quick keys bound to them (can't find the link right now, but I'm pretty sure there's a way to do this))
consult--multi
) 88c64faA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.