[Speaker 0]: And I think we are live.
Hi, Yanny, how are you doing?
[Speaker 1]: Excellent, excellent. Doing very well,
thank you.
[Speaker 0]: So that was a wonderful presentation.
I first want to commend you on your ability
to both do the how the user encounters the
MMS, how the developer might be interested
about how it works, and I feel like you've
done a wonderful job of talking to absolutely
everyone in our audience,
whatever their skill level.
So thank you so much for this.
[Speaker 1]: Yeah, that of course runs the risk of being,
you know, good for some,
but excellent for none.
But hopefully the result is that people can
get something out of it.
I think it's very important to make sure that
everyone feels that they have access to
Emacs, they have access to EMMS,
that they can do this in whatever capacity
they want. It's for everyone.
I really believe that.
[Speaker 0]: Yeah, and I understand this risk about having
a talk that is kind of a jack-of-all-trades,
but frankly you've done a wonderful job of
making it interesting for everyone,
because also I think the parts worked really
well, and people always had something to look
forward in terms of their expertise of what
particularly spoke to them.
So thank you again. What I'm going to do,
we have about 14 minutes of Q&A,
So I'll invite people,
as I usually do, to add their questions in
the other pad that you can find on the talks
or on IRC. You can also join us in the
discussion. I will make sure this time to
ping Sasha to open the Q&A.
Can you open, I-V-E-M-M-S.
All right, and in the meantime,
whilst we wait for people to join us in the
room, I will start reading some of the
questions off the pad.
So we had the first question about the music
that we played during the launch break,
and It's 1 of our dear friends,
Shoshin Ganshangroh, a free album,
Basement Dazed. I've put the link in the pad
and we've been using Shoshin's music for the
last 3 years, I think,
and everyone, people are so excited.
Some people say, why is it so noisy in the
background? But it's just because there's 1
part of the different tracks that sounds like
static and it always gets people.
We should probably do something about this,
but frankly it makes me laugh every time.
Starting with the first actual question,
well actually it's a bit of a meme question,
for the next Emacs Con,
could we have an eMMS playlist to follow the
talks along?
[Speaker 1]: Oh that sounds like an excellent idea but I
guess I'm wondering what they mean exactly by
that. Is that a shareable playlist that we
can pass along and just have people go to a
URL and just be able to play that?
I think that's an excellent idea.
It should be a relatively low bandwidth
process.
[Speaker 0]: And it's typically the type of stuff that is
right of our alley. I'm thinking about the
ICS file that we produce for all the events
that are related to Emacs.
You know the workshop that happened in Paris
or in New York, LA? Sasha compiles a list of
all the events and when they happen,
and then we provide this to everyone.
And we can do very much the same with
EmacsConf. You could have a playlist for
EmacsConf 2023, where you get all the talks
and perhaps also the Q&A sessions so that you
can relieve the 16 hours of content that
we're producing. That'd be great,
that's a great idea I think.
[Speaker 1]: Absolutely, and if there are any limitations
in the Emacs playlist structure that things
are missing in the playlist structure,
then it would be a great impetus to implement
those and extend the playlist structure.
Because after all, it's Lisp,
it really is data and functions all mixed
together, so we can do that.
It would be very interesting to dive into it
and see what's missing.
That would be even more informative than what
it can do.
[Speaker 0]: Great. All right, moving on to the next
question. I like to use music and audiobooks
in very different ways.
With music, I like shuffling by artists and
with audiobooks, I want to read sequentially
and pick the same playlist over a couple of
days or weeks. Do you have any tips for using
these 2 opposing media's workflow?
[Speaker 1]: Yes, so I have similar situations where I
have very long endurance races that I watch,
which I do all my media consumption is done
via EMMS. I also listened to music.
And so there's also a middle in between.
There's 1 end in which you have popular
music. These are standalone songs that are
typically 3 to 4 minute long and they are
best consumed in a random you know order
because they are designed around,
you know, a commercial radio distribution.
I guess I'm dating myself by saying radio,
but you know all the that.
In the middle there are longer works like
musicals and classical where these are units
where they might be very long but you would
have several tracks that you do want to have
1 after the other, and you want to be able to
stop and go to the next track.
And then at the very, very other end,
you have extremely long format,
which is included in a single file,
such as an audio book,
a movie, a tutorial that you're watching,
or in my case, you know,
a 24 hour, the 24 hours of Le Mans,
just the 24 hour race,
which, you know, that's 1 heck of a file.
So that is 1 of the reasons eMMS has a number
of elements such as the meta playlist mode
and multiple playlists.
So I would say that they would open a number
of playlists in eMMS, generate a number of
playlists that have each class of media.
So the shorter form songs,
the more pop songs you have in 1 playlist
where you can sort, shuffle it,
you know, save it, do whatever you want.
Then a separate playlist for the long form
stuff. Sometimes that playlist will have even
only 1 file in it if it's long enough,
then have a key combination which takes you
directly to 1 playlist or the other,
and within the long-form playlist,
looking at the bookmarking function of EMMS,
which is designed around being able to save a
particular stopping point or multiple
stopping points, bookmarks in the audio,
and being able to jump back into that audio.
The point to remember about the bookmarking
feature is that sometimes it really depends
on you have to have the right back end.
Not all back ends with replaying,
not all types of media work well with a
bookmarking function, and bug reports
welcome. But also there are other backends
such as MPV where you can configure it that
when you quit playing the song or the media
with, you know, cue internally.
So sometimes the back end has to continue
playing that song. That's what I do in order
to, on 1 hand, switch over to a...
I want to hear... I'm coding,
I want to hear some music,
I go to my playlist of short songs,
then I'm sitting back and I want to watch a
long form something from where I left off and
there I go to the other playlist and use
bookmarks or the features of the back end
that I'm using.
[Speaker 0]: Okay, thank you for the answer.
We have about 7 minutes and we have more
questions, so that's great.
Moving on to the next 1.
Is there a way to search a music selection by
lyrics? Assuming those lyrics are in the
metadata or are available elsewhere,
it would be neat to call songs up from the
lyrics to the song. Perhaps is this
implemented so that you can all aliases,
so they can use aliases for the song that you
like, defining those aliases or shortcuts
either inside or outside eMMS?
Okay, so I think you've got 2 questions.
First about the lyrics and then the aliases.
[Speaker 1]: Yeah, so it's effectively not possible to do
right now. There's a sense in which it is,
but not really. What actually needs to
happen? The problem is that the caching
system is extremely naive.
It's just really a hash that's written to
disk. And maybe now with SQLite integration
or other or just the fact that computers have
a lot more speed and space than they used to
have, we need to expand the cache to be a lot
more greedy and a lot more flexible so that
we can store things such as lyrics in as part
of the metadata. There's no reason not to do
that. Unless your collection would have to be
truly enormous in order to slow things down.
We wouldn't even need to compress the lyrics
in order to store them like that.
But that is a goal. So our rewrite of the
cache is currently in progress,
and the goal is to have a system where you
can put any related information,
including lyrics, and map that to a
particular piece of the media,
be it a URL or a... So you could have in a
sense, you could have a URL to a lecture and
the metadata associated would be some text,
some notes or something else like that.
[Speaker 0]: Right, so that was about the lyrics.
I'm not sure how it answers the question
about the aliases. I mean you can still
filter what you've mentioned about the cache.
I think it's... Do we consider the aliases to
be anything within the metadata?
[Speaker 1]: No, you're right. That is a separate
question. I don't have a great answer for
that right now.
[Speaker 0]: Okay, great. Well, we'll put a pin on this
and we can return to it.
You can return to it at a later stage.
Yeah. All right, moving on to the next
question, then. I'll just,
we'll put a pin on this.
All right, next question.
Are there plans for managing metadata with
online resource backends,
i.e. Discogs or music brains?
What about something like Beats and Emacs or
part of the EMMS?
[Speaker 1]: Yeah, so that's an active discussion on the
mailing list right now.
We don't want to replicate what Beats does
very, very well in eMMS.
We don't want a clunky interface with Beats.
We do want some kind of,
and so it's hard to tell exactly where to
draw that line. So the big answer is yes,
absolutely, there is a plan to do that.
The details become complicated because for 1
thing, the backend, the database that
MusicBrain uses, AcoustID,
I don't remember if AcoustID is the binary or
the database, but that's actually for
non-commercial use only.
So not only do you need to compile a piece of
software on your computer as a shim,
which is what you need to do in order to set
up beats to do fingerprinting.
But it also crosses this line between
completely free software to completely free
software interfacing with a non-commercial
only service. So a lot of the discussion
that's going on now is what is the contour?
Where would be where we would be effective
for EMMS to do management and where not?
For 1 thing, I would love to be able to...
1 thing that we definitely would love to be
able to do is when you hit E on a file and
you get all the metadata to be able to then
give a command to say,
hey, play to music brains and see if you can
improve that metadata.
Do you have better metadata,
more complete metadata to complete that?
That is definitely in the pipeline.
How best to do it, that's a discussion.
[Speaker 0]: Okay, Yoni, we have about 2 minutes until we
need to go to the next talk.
Okay, I'll risk it. 1 more question and a
short answer if you can.
Have the developers considered using Emacs
customized functionality to persistently
store settings when using eMMS setup discover
players?
[Speaker 1]: Yes, absolutely. That's another active place,
especially with the discover players.
How to do it exactly without annoying people
and clobbering their own settings,
we just need to be very careful about that.
Yes, that's in the coming releases.
[Speaker 0]: All right, well, Younif,
thank you so much for your time.
Feel free to stay in the room.
I see that some people have started joining
on BBB. If you have more questions,
feel free to unmute yourself and ask them
live. Younid, I could ask you also to perhaps
answer the question. I've put the link to the
pad in the BBB chat, so if you look at the...
Here, I think, we're not mirrored on BBB.
If you look at the left you should be able to
see the chat and the questions and if you
could just answer the last question that
would be great. For us on the general track
we will be moving to the next talk and
Yannick do you have any last thing to say in
[Speaker 1]: Thank everyone who put together the
conference and thank you to everyone who
helps with the EMMS.
[Speaker 0]: 10 seconds? All right,
well, thank you so much,
Yoni. We'll probably see you later.
Bye-bye. Wonderful. And I think we are off
air. Thank you so much,
Juni. I need to step out and go take care of
[Speaker 1]: Okay, wonderful. Thank you very much.
[Speaker 0]: the next talk. Bye-bye.
And just to, I forgot to mention,
but you can still talk here and everything is
still being recorded. So,
I'll see you later.
[Speaker 2]: Excellent. Bye-bye. Bye.
[Speaker 3]: Oh, hello.
[Speaker 1]: Wait, you're still, I cannot hear you yet.
[Speaker 4]: You are currently the only person in this
conference.
[Speaker 2]: Okay.
[Speaker 3]: Can you hear me now? I just wanted to say hi
and thank you. My name's Grant.
I've, you helped me contribute to EMMS maybe
2 or 3 years ago. I was trying to do the
[Speaker 2]: So,
[Speaker 3]: track tag stuff. yeah.
So I just wanted to say thank you.
[Speaker 1]: Thank you for continuing and going through
that entire process. I know that 1 of the
things that happens is that people want to
contribute, but it's not as slick as GitHub
and stuff like that, especially with the
copper assignment. And objectively,
it's not that. It's just harder than what
they imagine it might be.
[Speaker 3]: Yeah. Well, I appreciate it.
I think you're doing a wonderful job as a
maintainer. I still hang out on the list and
enjoy listening in on the discussions.
So.
[Speaker 2]: Yeah. But that's it. I think that's it.
I think that's it. And I think that's it.
And I think that's it.
I appreciate it. And I'll leave you to all of
you to go on from being a product.
And that she valued to all of us long term
being a project.
[Speaker 1]: If you're not super duper active,
being there long term,
people tend to find it easier trying to
continue contributing to the project if
there's a consistency there,
if there isn't a churn,
if there is a kind of a core group.
I guess it's like, you think it's constant.
Eliezer Etzke and RMS,
whatever on the next mailing list,
You know, okay, there are certain people that
I think so. So thank you for that.
That's very important.
That helps.
[Speaker 3]: Yeah, I'm, I feel like when I started using
EMMS several years ago,
it's, it's improved a lot since then.
And I notice your focus on helping new users
get started quickly. And I think the talk
today will help with that too.
So
[Speaker 1]: yeah, I want to put you know,
the, especially the TLDR,
like how to start it on the link that to the
website, find somehow that we can get on to
prepare for that. And this together.
Now, question for you,
Where would you like to see EMMS go?
Where do you see it landing?
What do you feel like this is what this is
we're sorely missing these things?
[Speaker 3]: I don't know. I mean, I picked it up,
because I both use it to play my music
collection, but also, like I record my own
music. And I wanted to be able to edit my
metadata in Emacs, because editing metadata
elsewhere sucks. And so that's kind of why I
got involved with that.
And I was like, being able to edit metadata,
especially for content that maybe you're
creating or because I have a bunch of files
of just unlabeled stuff I've recorded on,
you know, different quarters,
things like that. So that's kind of where I
was focusing on it. It's the only media tool
that lets me do that, you know,
I can play the music back and have quick
editing. So I know there was a couple of
things we had talked about in terms of maybe
improving kind of the user interface for the
tag editor, things like that.
So I don't have any grand visions for where
EMMS should go. I know pretty much all the
things I've heard about it already.
You can hook up to GNU FM,
the Scrabbling Service,
and all that kind of stuff.
I don't really feel like it's missing much,
especially being able to choose the back
ends. I guess, if anything,
it's the interface. How can it be even more
intuitive for users? And I think that,
you know, we need more people playing around
with it, I guess. Yeah.
[Speaker 2]: I think a really good
[Speaker 1]: Well, yeah. example of that is,
because I'm sure there are lots of people
playing around with it,
arriving at a conclusion,
keeping it to themselves and moving on.
Yeah. Which, and I know that a lot of bits of
software put a send a bug report feature in
and stuff like that and no 1 uses those
either. So that's the frictional cost.
I think the context switch for people between
this doesn't work to actually formulating in
words what didn't work,
that is a very expensive context which most
people will not do. And we're poorer for
that. So, I think that when we integrate
music brains and other things like that into.
Now, of course, music brains will probably,
it would be very funny if you pull up your
stuff, right? Something that you wrote and
you say, hey, music brains match this and
it's not there, then it'll probably suggest
[Speaker 3]: Yeah, I've heard that.
[Speaker 1]: some wild things. Yeah,
because there are, there was a system I was
looking at its code for researching stuff for
EMS And I'm trying to remember what it's
named. It begins with a J,
it's this media player,
free floss media player that it's like a
media server that can cast to a television
and stuff like that. And I asked it to
automatically label things and the results
were horrible. It thought that half of my
songs were movies. It thought that JPEGs were
songs. It just, it did some,
it did incredibly, it's not a solved problem,
I think. So the, what I'm thinking with
MusicBrainz and those services is that you
hit a button and you have you get another
pane with a suggestion and you either and you
can copy through you can say okay copy this
and this in this field over or reject the
suggestion and maybe get another 1.
So,
[Speaker 3]: Yeah, I like that a lot.
That's more like a diff,
right? Like you get the diff between the 2
and you can apply which changes you like.
Yeah. Was it Jellyfin?
Is that... Jellyfin? Yeah,
[Speaker 1]: Jellyfin, yes.
[Speaker 3]: Yeah, And when that happened,
did it clobber all your metadata?
Or does it just label stuff?
[Speaker 2]: No, it...
[Speaker 1]: Escalate things somewhere inside it and to
looking for really, not allow me to do very
easily. So I was, so, you know,
on 1 hand, it makes me feel,
oh, we're not the only ones dealing with
this. We're not the only ones struggling with
this. On the other hand,
it would be nice if that's a paragon that we
can look to and say, this is a wonderful way
of doing it. Let's incorporate as much of
[Speaker 3]: Yeah, it's a tricky problem,
especially if you're modifying people's media
files you know so
[Speaker 1]: that as we can. yeah I'm also very convinced
that so I'm not a mainframe for MMS because
I'm old and curmudgeonly essentially in my,
in the way they do it.
And honestly, I rarely ever,
I use the MMS browser when I need to debug
the MS browser. I don't,
I use very simple commands and I even rarely
look at the playlists.
That was 1 of the things because when I got
into MMS originally when my eyesight started
going so I had to rely less and less on GUI
interfaces. So that was,
so to this day that's how I use EMMS.
[Speaker 3]: Yeah, it's interesting.
I remember running into a browser bug because
I think just my age, like,
I want to be able to tab through and like
that was a huge that that changed recently
right where you tab and it unfolds in the
browser but yeah I realized that people use
emms in so many different ways just like any
piece of emacs there's there's many ways to
do it but appreciate your time I'm gonna
actually put together this Christmas tree
[Speaker 0]: So. Wonderful.
[Speaker 3]: behind me. Yeah, just wanted to say hi,
meet you in person. But yeah.
[Speaker 1]: Yeah, excellent. I appreciate it a lot and we
generate
[Speaker 2]: some interesting questions.
Yeah, thank you.
[Speaker 4]: You are currently the only person in this
conference.
[Speaker 1]: I'm going to have a look at the questions
here.
Let's see. Let's see. So there is,
okay. There's a question here.
I like what you said about balancing the
concern for software freedom with the worry
that this might alienate the package user.
I wonder if you have advice for other
maintainers how to communicate this sort of
thing diplomatically? Yes,
when you have to deny implementing a feature
for a freedom reason. This in fact happens
all the time. A recent example of this was a
YouTube download, right,
the YouTube download feature.
At the time, okay, so stepping back,
the request was to have a YouTube download
feature integrated strongly into eMMS so that
you put in a YouTube URL and you can download
the video and play it.
And the question isn't really whether you can
chain YouTube Downloader or 1 of those things
into your EMMS configuration.
You can do whatever you want.
But the question is, does EMMS actually
integrate with it really,
really strongly to the extent where it tells
you oh you don't need to download install
please go ahead and install that or whatever
and at the time we checked it we found out
that you know the version that we were
looking at of the YouTube download or YTDLP
or whatever it was called,
actually downloaded a good amount of
proprietary JavaScript onto your machine and
ran it, just as if you were going on to the
YouTube page, which is not for me to tell
people not to do if they want to do that,
but it's absolutely for me not to cause to
happen on the user's machine without them.
1 of the last thing that I want to do in the
world is have a user inside Emacs press a
button and have proprietary software get
downloaded behind their back and run on their
machine that would be disastrous so we had to
say no we had to say that's I'm sorry that's
beyond the pale and in fact in doing so some
people who were using this system said,
actually I had no idea it was doing this
behind my back. I thought it was just magic.
I thought it was a YouTube video without any
freedom issues. I'm going to look into it or
I'm going to stop using it.
So my advice would be Stand firm and just be
Not not preachy. Don't tell people what they
need to do be very clear about what you stand
for and what the project stands for,
and so they very clearly know where you
stand. And I think that people actually
appreciate that more than a political answer,
right? That has been my experience.
Now, excuse me, taking into account that 1 or
2 people will tell you,
this is terrible. I'm leaving.
[Speaker 2]: If you do this,
[Speaker 1]: This is useless. you're free software or
whatever, and just leave.
But some people are ornery.
That's not necessarily something bad that you
did. But that has happened.
There are multiple stories.
Because the MMS is so old,
there are multiple points in which non-free
software intersected with the EMS because of
multimedia and we had to go the other
direction and so far it has served EMS well
like the project has died as a result.
Of course, can't prove a negative,
don't know where we would be if we had taken,
gone down that route. I'm pretty sure we
would need a new ELPA,
and I think being so clearly integrated with
emacs is a huge benefit to eMMS because it's
it allows people to install it very easily.
And those are all the questions that I can
see.
[Speaker 2]: You