From b8af26e5e6502d099845052b53ca6186f99195e7 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 9 Dec 2020 09:32:08 -0500 Subject: Add more autogen --- ...an-album-of-music--grant-shangreaux-autogen.sbv | 1251 ++++++++++++++++++++ 1 file changed, 1251 insertions(+) create mode 100644 2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv (limited to '2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv') diff --git a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv new file mode 100644 index 00000000..db5fd2e7 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv @@ -0,0 +1,1251 @@ +0:00:01.360,0:00:07.279 +hello my name is grant shangri + +0:00:04.480,0:00:07.919 +this is my talk titled bard beavermax + +0:00:07.279,0:00:10.719 +publishing + +0:00:07.919,0:00:12.799 +music with emacs i'm a software + +0:00:10.719,0:00:14.400 +developer with unabridged software in + +0:00:12.799,0:00:16.800 +lincoln nebraska + +0:00:14.400,0:00:18.720 +long time emacs user relatively new + +0:00:16.800,0:00:20.480 +emacs hacker + +0:00:18.720,0:00:22.960 +and uh hopefully i'll be able to show + +0:00:20.480,0:00:30.480 +you my workflow with + +0:00:22.960,0:00:33.440 +how i publish music with emacs + +0:00:30.480,0:00:35.520 +all right so as a musician i would like + +0:00:33.440,0:00:37.200 +to publish my music online + +0:00:35.520,0:00:39.040 +you know i could publish with popular + +0:00:37.200,0:00:42.000 +online music services + +0:00:39.040,0:00:44.719 +but i'm more of a diy type so i chose to + +0:00:42.000,0:00:48.160 +go ahead and publish with emacs + +0:00:44.719,0:00:49.760 +so what's the motivation behind this + +0:00:48.160,0:00:51.600 +a lot of it comes down to some + +0:00:49.760,0:00:54.960 +fundamental freedoms + +0:00:51.600,0:00:57.920 +that you know emacs gnu software + +0:00:54.960,0:00:59.120 +kind of represent to me as well as kind + +0:00:57.920,0:01:01.840 +of my + +0:00:59.120,0:01:03.680 +ideas on culture and my background i + +0:01:01.840,0:01:04.080 +don't believe that music is a consumer + +0:01:03.680,0:01:06.080 +good + +0:01:04.080,0:01:08.320 +um it's a form of knowledge like an + +0:01:06.080,0:01:10.479 +algorithm + +0:01:08.320,0:01:13.119 +and it's just like such a part of + +0:01:10.479,0:01:16.640 +culture like in tribal cultures music + +0:01:13.119,0:01:18.000 +was seen as a gift from the cosmos or + +0:01:16.640,0:01:19.920 +the gods and it was + +0:01:18.000,0:01:21.920 +a gift maybe through an individual + +0:01:19.920,0:01:23.520 +vessel but was shared with the people + +0:01:21.920,0:01:26.799 +and shared with everyone + +0:01:23.520,0:01:29.840 +kept alive by the culture itself + +0:01:26.799,0:01:31.520 +and so to me music is something that + +0:01:29.840,0:01:34.640 +should be shared and should be + +0:01:31.520,0:01:36.560 +freely enjoyed by everyone of course + +0:01:34.640,0:01:39.040 +artists should be compensated as well + +0:01:36.560,0:01:41.040 +but that's a whole different topic + +0:01:39.040,0:01:42.720 +and so when i want to share my music i + +0:01:41.040,0:01:43.520 +want to do it without impacting anyone's + +0:01:42.720,0:01:45.680 +freedom + +0:01:43.520,0:01:48.960 +using gnu software like emacs is a good + +0:01:45.680,0:01:48.960 +way that i can ensure that + +0:01:49.200,0:01:55.840 +i won't be requiring people to + +0:01:52.840,0:01:57.119 +uh sign away their freedoms for anything + +0:01:55.840,0:01:58.799 +there's a lot more i could say about + +0:01:57.119,0:02:00.960 +this but i don't have time + +0:01:58.799,0:02:03.439 +feel free to reach out to me by email or + +0:02:00.960,0:02:06.479 +irc + +0:02:03.439,0:02:08.239 +um and part of the motivation for me + +0:02:06.479,0:02:10.720 +personally is that emacs is super + +0:02:08.239,0:02:12.720 +magical it's an all-in-one solution + +0:02:10.720,0:02:14.480 +like i said the gnu software aligns with + +0:02:12.720,0:02:16.800 +creative commons ideas + +0:02:14.480,0:02:18.879 +i can do file management i can author + +0:02:16.800,0:02:20.239 +html all the web stuff i need even + +0:02:18.879,0:02:22.640 +illiterate style + +0:02:20.239,0:02:24.640 +i can handle media and metadata i've got + +0:02:22.640,0:02:26.800 +version control remote server access + +0:02:24.640,0:02:28.080 +all the tools i need are right under my + +0:02:26.800,0:02:30.000 +fingertips with this + +0:02:28.080,0:02:31.440 +tool that i use every day for a long + +0:02:30.000,0:02:34.319 +time i don't need to look + +0:02:31.440,0:02:36.319 +elsewhere and it was a challenge i + +0:02:34.319,0:02:39.440 +wanted to see if i could do this + +0:02:36.319,0:02:41.680 +all within emacs itself so + +0:02:39.440,0:02:43.440 +how do you use emacs to publish music + +0:02:41.680,0:02:45.120 +well for me i needed + +0:02:43.440,0:02:46.480 +a couple of things i needed to be able + +0:02:45.120,0:02:48.319 +to audition unlabel + +0:02:46.480,0:02:50.000 +unlabeled audio tracks i have a lot of + +0:02:48.319,0:02:51.280 +files that i don't know where they + +0:02:50.000,0:02:53.840 +came from i don't know what they are i + +0:02:51.280,0:02:56.800 +need to be able to listen to them + +0:02:53.840,0:02:58.480 +and i need to be able to add metadata to + +0:02:56.800,0:03:00.800 +whatever audio format it is + +0:02:58.480,0:03:03.200 +and rename the files based on that + +0:03:00.800,0:03:05.120 +metadata potentially + +0:03:03.200,0:03:07.040 +and in the end i wanted to take those + +0:03:05.120,0:03:08.319 +files and programmatically produce a web + +0:03:07.040,0:03:11.920 +page + +0:03:08.319,0:03:14.159 +for people to consume i found out that + +0:03:11.920,0:03:14.879 +emacs scores a hundred percent on all of + +0:03:14.159,0:03:18.000 +these + +0:03:14.879,0:03:20.720 +requirements that i had for this and + +0:03:18.000,0:03:22.640 +a lot of that came from emms the emacs + +0:03:20.720,0:03:26.080 +multimedia system + +0:03:22.640,0:03:27.760 +um emms is is great um + +0:03:26.080,0:03:30.000 +if you haven't checked it out please do + +0:03:27.760,0:03:32.959 +it's a little bit unintuitive but + +0:03:30.000,0:03:34.000 +once you get into it you know it works + +0:03:32.959,0:03:36.640 +um + +0:03:34.000,0:03:38.720 +and basically what emms gave me was the + +0:03:36.640,0:03:39.680 +ability to listen to the tracks organize + +0:03:38.720,0:03:41.280 +playlists + +0:03:39.680,0:03:42.959 +and on top of that it gave me super + +0:03:41.280,0:03:45.040 +powered metadata authoring + +0:03:42.959,0:03:47.200 +and i'm going to demonstrate that to you + +0:03:45.040,0:03:50.879 +so in order to do this + +0:03:47.200,0:03:54.879 +you have to require markable playlists + +0:03:50.879,0:03:58.720 +so require ems mark and so i'm going to + +0:03:54.879,0:03:58.720 +go through and i'm going to open the red + +0:03:59.680,0:04:04.480 +i've got this this these files here so + +0:04:02.319,0:04:06.080 +you can see these files are mp3s + +0:04:04.480,0:04:07.599 +um they're recorded on a digital + +0:04:06.080,0:04:09.920 +recorder + +0:04:07.599,0:04:11.760 +um if i had the choice i would have a + +0:04:09.920,0:04:12.319 +recorder that used a different format + +0:04:11.760,0:04:14.640 +but + +0:04:12.319,0:04:16.160 +so be it so i can mark all these files + +0:04:14.640,0:04:20.000 +and i can do ems + +0:04:16.160,0:04:22.880 +add to red and now they've been loaded + +0:04:20.000,0:04:22.880 +into a playlist + +0:04:27.040,0:04:30.400 +so you can see the playlist here there's + +0:04:29.040,0:04:32.000 +some leftover files + +0:04:30.400,0:04:33.759 +so i've got these three files in my + +0:04:32.000,0:04:34.639 +playlist and as you can see it's just + +0:04:33.759,0:04:36.800 +the file name + +0:04:34.639,0:04:38.560 +the path i don't have any metadata + +0:04:36.800,0:04:41.360 +associated with them + +0:04:38.560,0:04:43.440 +in this playlist i can hit e capital e + +0:04:41.360,0:04:47.360 +and it'll bring up a buffer showing + +0:04:43.440,0:04:49.840 +um the tag information that i have + +0:04:47.360,0:04:51.520 +and so i could edit these here and i + +0:04:49.840,0:04:53.919 +could edit them one at a time but that's + +0:04:51.520,0:04:57.440 +not really great i want superpower + +0:04:53.919,0:05:00.320 +metadata authoring so + +0:04:57.440,0:05:00.320 +by marking them + +0:05:04.479,0:05:08.479 +by marking them i can then hit e and i + +0:05:07.680,0:05:10.479 +have + +0:05:08.479,0:05:12.639 +all three of the tracks loaded up in + +0:05:10.479,0:05:15.759 +this tags buffer + +0:05:12.639,0:05:18.800 +on top of that i can do emms + +0:05:15.759,0:05:22.840 +tag editor set all ctrl c control + +0:05:18.800,0:05:25.680 +r and i want to set the artist + +0:05:22.840,0:05:26.320 +so these are some recordings of my + +0:05:25.680,0:05:31.039 +family + +0:05:26.320,0:05:35.600 +so shangri-lux set all three of them + +0:05:31.039,0:05:40.160 +i want to set the album um + +0:05:35.600,0:05:43.600 +spring walk with lap harp + +0:05:40.160,0:05:43.600 +and i want to set the year + +0:05:45.520,0:05:50.840 +and then i'm going to go ahead and put + +0:05:48.960,0:05:53.759 +these in + +0:05:50.840,0:05:55.840 +manually + +0:05:53.759,0:05:57.039 +but with the power of emacs keyboard + +0:05:55.840,0:05:59.600 +macros and + +0:05:57.039,0:06:02.319 +registers and so on i could do this + +0:05:59.600,0:06:04.000 +programmatically as well + +0:06:02.319,0:06:06.000 +which would make it a lot easier if i + +0:06:04.000,0:06:07.440 +hadn't met much more than three files to + +0:06:06.000,0:06:09.919 +do this with + +0:06:07.440,0:06:11.520 +submit the changes with ctrl c ctrl c + +0:06:09.919,0:06:13.120 +and now we've got the playlist you can + +0:06:11.520,0:06:15.039 +see the artist and track number have + +0:06:13.120,0:06:17.360 +been updated here + +0:06:15.039,0:06:19.039 +and then the final piece of this is that + +0:06:17.360,0:06:20.479 +if you look at this you can see that the + +0:06:19.039,0:06:22.639 +file name is still the same + +0:06:20.479,0:06:24.560 +so if i were looking to the directory i + +0:06:22.639,0:06:26.479 +would still have this file name + +0:06:24.560,0:06:28.000 +when packaging these up for a release + +0:06:26.479,0:06:30.319 +for people to download + +0:06:28.000,0:06:32.400 +it's nice to be able to have that file + +0:06:30.319,0:06:34.800 +name reflect the track number and the + +0:06:32.400,0:06:35.680 +artist and so on so there's another + +0:06:34.800,0:06:38.240 +command + +0:06:35.680,0:06:38.240 +mms + +0:06:41.199,0:06:45.120 +rename tag editor rename so it could be + +0:06:44.160,0:06:47.199 +just capital r + +0:06:45.120,0:06:48.880 +i think i need to mark all of these hit + +0:06:47.199,0:06:50.000 +capital r and then it's going to ask me + +0:06:48.880,0:06:53.599 +to confirm + +0:06:50.000,0:06:53.599 +and say yes to all of them + +0:06:54.400,0:07:04.319 +and now if you look in the dread + +0:07:02.720,0:07:06.319 +whoops i have to update it you'll see + +0:07:04.319,0:07:09.840 +it's been updated with the artist + +0:07:06.319,0:07:11.120 +the name track and track number and + +0:07:09.840,0:07:14.639 +track name + +0:07:11.120,0:07:17.360 +um so this format is a format string so + +0:07:14.639,0:07:20.479 +it's customizable of course + +0:07:17.360,0:07:21.039 +i just decided to go with the default so + +0:07:20.479,0:07:24.160 +that's + +0:07:21.039,0:07:26.000 +pretty great this workflow + +0:07:24.160,0:07:28.080 +just with emms i didn't have to do + +0:07:26.000,0:07:30.960 +anything this is all there it's all + +0:07:28.080,0:07:32.639 +all built in um it gave me exactly what + +0:07:30.960,0:07:35.599 +i was looking for in terms of being able + +0:07:32.639,0:07:37.599 +to process a lot of raw audio files + +0:07:35.599,0:07:39.280 +add metadata to them and get them ready + +0:07:37.599,0:07:41.599 +for publishing + +0:07:39.280,0:07:43.520 +and this is for publishing for playback + +0:07:41.599,0:07:44.879 +in any media player it'll it'll be + +0:07:43.520,0:07:46.560 +useful + +0:07:44.879,0:07:48.479 +not just for the web page that i'm + +0:07:46.560,0:07:50.560 +building so the + +0:07:48.479,0:07:53.440 +final part of course is um to build the + +0:07:50.560,0:07:54.960 +web page and emacs makes authoring html + +0:07:53.440,0:07:57.440 +trivial + +0:07:54.960,0:07:59.039 +like as i was going through this i + +0:07:57.440,0:08:00.400 +wanted to challenge myself and just be + +0:07:59.039,0:08:03.120 +like can i do this with all + +0:08:00.400,0:08:03.520 +just all with emacs like can i just make + +0:08:03.120,0:08:05.440 +this + +0:08:03.520,0:08:07.039 +i don't need a i don't need ruby i don't + +0:08:05.440,0:08:08.960 +need rails i don't need node i don't + +0:08:07.039,0:08:10.560 +need any of this other stuff i have my + +0:08:08.960,0:08:12.560 +tool right here it's a fully + +0:08:10.560,0:08:15.039 +it's a whole operating system basically + +0:08:12.560,0:08:17.360 +plus programming languages + +0:08:15.039,0:08:19.919 +so the first thing i started with was + +0:08:17.360,0:08:22.560 +buffer scripting for manipulating text + +0:08:19.919,0:08:24.319 +that's kind of the easiest way to do it + +0:08:22.560,0:08:25.280 +and basically anything you can do in a + +0:08:24.319,0:08:28.479 +buffer you can do + +0:08:25.280,0:08:30.319 +programmatically with e-lisp so this + +0:08:28.479,0:08:33.919 +might be a good example for beginners if + +0:08:30.319,0:08:36.000 +you haven't done any e-lisp yet + +0:08:33.919,0:08:36.959 +like a simple example is to create this + +0:08:36.000,0:08:40.000 +this div + +0:08:36.959,0:08:41.760 +output here i can you + +0:08:40.000,0:08:44.240 +can use this with temp buffer so + +0:08:41.760,0:08:46.640 +basically creating an imaginary buffer + +0:08:44.240,0:08:48.800 +insert is just like typing so you put + +0:08:46.640,0:08:50.959 +strings in you put new lines in + +0:08:48.800,0:08:52.080 +can cap build some strings together and + +0:08:50.959,0:08:54.000 +here you can see i'm + +0:08:52.080,0:08:55.360 +i'm doing a random number so every time + +0:08:54.000,0:08:57.920 +i execute this + +0:08:55.360,0:09:01.040 +my content changes so i can generate + +0:08:57.920,0:09:04.399 +dynamic content in html blocks + +0:09:01.040,0:09:05.920 +with e-lisp for my + +0:09:04.399,0:09:08.000 +web page builder it's a little more + +0:09:05.920,0:09:12.080 +complex i'm pulling data out + +0:09:08.000,0:09:15.440 +using emms data structures + +0:09:12.080,0:09:16.080 +so it's pulling that out from the track + +0:09:15.440,0:09:18.720 +data + +0:09:16.080,0:09:19.440 +and then i'm i'm using some program + +0:09:18.720,0:09:21.440 +program to + +0:09:19.440,0:09:23.200 +generate list elements so each track is + +0:09:21.440,0:09:25.120 +going to have the title + +0:09:23.200,0:09:26.959 +and track number and then a button for + +0:09:25.120,0:09:29.519 +playing it plus the source + +0:09:26.959,0:09:30.480 +of the audio file which will get added + +0:09:29.519,0:09:32.640 +here + +0:09:30.480,0:09:34.839 +right now this is hard coded for opus so + +0:09:32.640,0:09:37.200 +it won't work for my + +0:09:34.839,0:09:39.120 +mp3s um + +0:09:37.200,0:09:41.200 +i'm going to skip over snippets turns + +0:09:39.120,0:09:45.519 +out format strings were good enough + +0:09:41.200,0:09:48.160 +for me um snippets could be useful but + +0:09:45.519,0:09:49.839 +format is super powerful and i didn't + +0:09:48.160,0:09:51.279 +really even need all that much power + +0:09:49.839,0:09:53.519 +basically just doing string + +0:09:51.279,0:09:54.560 +interpolation so if you haven't seen + +0:09:53.519,0:09:56.720 +format before + +0:09:54.560,0:09:59.120 +you basically put these control strings + +0:09:56.720,0:10:03.120 +or control characters inside of a string + +0:09:59.120,0:10:05.040 +and you can generate you can generate an + +0:10:03.120,0:10:07.600 +output string that you want + +0:10:05.040,0:10:08.720 +so in my generator code basically it's + +0:10:07.600,0:10:10.959 +down here + +0:10:08.720,0:10:12.800 +um i'm calling format with this sparred + +0:10:10.959,0:10:15.920 +vivomax template + +0:10:12.800,0:10:18.240 +and that's basically a big + +0:10:15.920,0:10:20.399 +a big string of html it's just each you + +0:10:18.240,0:10:21.200 +know my whole page of html with a couple + +0:10:20.399,0:10:22.959 +places + +0:10:21.200,0:10:24.399 +with those control characters in just + +0:10:22.959,0:10:26.399 +four places + +0:10:24.399,0:10:29.760 +and one of them populates the track list + +0:10:26.399,0:10:32.079 +that's really the meat of the program + +0:10:29.760,0:10:33.440 +and again this is a combination of using + +0:10:32.079,0:10:36.640 +buffer scripting + +0:10:33.440,0:10:37.279 +using html mode inserting text format + +0:10:36.640,0:10:40.000 +strings + +0:10:37.279,0:10:41.920 +and then i can indent region so the html + +0:10:40.000,0:10:45.200 +actually looks pretty + +0:10:41.920,0:10:50.160 +when it comes out of it as well + +0:10:45.200,0:10:52.560 +um i will show that just really quick + +0:10:50.160,0:10:52.560 +actually + +0:10:54.000,0:10:58.800 +so you can see this is the html that got + +0:10:56.880,0:11:02.560 +generated i've got my template + +0:10:58.800,0:11:05.760 +i inserted the title here the style the + +0:11:02.560,0:11:07.920 +font was all inserted + +0:11:05.760,0:11:11.200 +and then this whole list of of tracks + +0:11:07.920,0:11:14.399 +here it's kind of messy to look at + +0:11:11.200,0:11:15.920 +but this track list this whole div here + +0:11:14.399,0:11:18.560 +is all generated by + +0:11:15.920,0:11:20.800 +my generator code and it works it's + +0:11:18.560,0:11:20.800 +great + +0:11:22.480,0:11:26.160 +okay moving on + +0:11:27.120,0:11:32.079 +um so the other thing was that as i was + +0:11:30.240,0:11:33.200 +developing this i decided to use ort + +0:11:32.079,0:11:35.360 +babel and some of his + +0:11:33.200,0:11:36.880 +its features um for multi-language + +0:11:35.360,0:11:37.839 +things because i needed to style it with + +0:11:36.880,0:11:40.480 +css and + +0:11:37.839,0:11:42.480 +and put actions in javascript and also i + +0:11:40.480,0:11:45.519 +used svg for authoring stuff + +0:11:42.480,0:11:46.079 +um and it was a little bit complicated i + +0:11:45.519,0:11:47.680 +probably + +0:11:46.079,0:11:49.600 +probably would have been simpler had i + +0:11:47.680,0:11:51.440 +not used org babble but it's also really + +0:11:49.600,0:11:53.839 +fun and it's i think it's a cool + +0:11:51.440,0:11:55.839 +cool idea to use literate programming my + +0:11:53.839,0:11:57.600 +idea was to create kind of like html + +0:11:55.839,0:11:59.519 +components like i could name it like + +0:11:57.600,0:12:01.440 +this + +0:11:59.519,0:12:02.800 +put a format string inside it and build + +0:12:01.440,0:12:05.519 +a function + +0:12:02.800,0:12:07.120 +in e-lisp to format it and spit out the + +0:12:05.519,0:12:10.320 +html that i want + +0:12:07.120,0:12:12.880 +and by doing this then i can like uh + +0:12:10.320,0:12:14.320 +just change things in my org file which + +0:12:12.880,0:12:16.959 +not getting a whole lot of time to work + +0:12:14.320,0:12:19.839 +on it i can come back to it and + +0:12:16.959,0:12:21.920 +i have a lot of notes and i can i can + +0:12:19.839,0:12:24.399 +kind of generate things as i'm going and + +0:12:21.920,0:12:25.600 +keep notes for myself and keep the + +0:12:24.399,0:12:27.519 +i don't know it's cool literate + +0:12:25.600,0:12:29.279 +programming is fun um so i don't need to + +0:12:27.519,0:12:31.040 +go into that too much but you can see if + +0:12:29.279,0:12:33.360 +i execute this here + +0:12:31.040,0:12:34.880 +i get the the div that i want um it's a + +0:12:33.360,0:12:36.480 +little bit funny you'll see i have the + +0:12:34.880,0:12:39.200 +string like this the way that + +0:12:36.480,0:12:40.000 +no web expands i can't do this on a + +0:12:39.200,0:12:43.839 +single line + +0:12:40.000,0:12:45.440 +it it it looks funny when you do that + +0:12:43.839,0:12:48.560 +so that might be something to work out + +0:12:45.440,0:12:48.959 +later css blocks can either be tangled + +0:12:48.560,0:12:51.680 +out + +0:12:48.959,0:12:52.639 +and referenced in the html source or + +0:12:51.680,0:12:54.639 +inlined + +0:12:52.639,0:12:56.959 +here's an example i have of inlining it + +0:12:54.639,0:13:00.320 +so i've got my little css block name + +0:12:56.959,0:13:03.040 +style javascript name script + +0:13:00.320,0:13:04.839 +and then i've got this html source block + +0:13:03.040,0:13:07.519 +with no web + +0:13:04.839,0:13:07.920 +expansion um these double angle brackets + +0:13:07.519,0:13:09.839 +here + +0:13:07.920,0:13:11.680 +are where i'm going to expand the block + +0:13:09.839,0:13:12.639 +name style i'm actually calling a + +0:13:11.680,0:13:14.399 +function + +0:13:12.639,0:13:17.040 +so i want the result of the function + +0:13:14.399,0:13:20.560 +here and then the script will just get + +0:13:17.040,0:13:22.959 +expanded here so or babel expand source + +0:13:20.560,0:13:25.360 +block + +0:13:22.959,0:13:28.160 +you can see what it looks like you know + +0:13:25.360,0:13:29.920 +i've got my style here i've got my title + +0:13:28.160,0:13:31.279 +i've got that main content class i + +0:13:29.920,0:13:33.040 +showed before + +0:13:31.279,0:13:34.480 +and the script as well so that's kind of + +0:13:33.040,0:13:36.320 +cool like + +0:13:34.480,0:13:38.160 +i could just run org babel tangle and + +0:13:36.320,0:13:40.480 +get my thing out and just + +0:13:38.160,0:13:41.600 +edit one file instead of multiple files + +0:13:40.480,0:13:45.120 +not for everyone + +0:13:41.600,0:13:45.120 +but i i thought it was kind of fun + +0:13:45.839,0:13:49.199 +all right oh and the final thing is that + +0:13:47.760,0:13:52.880 +in emacs you can + +0:13:49.199,0:13:57.199 +author and view svg so this is just an + +0:13:52.880,0:13:59.519 +org um this svg i used to make the play + +0:13:57.199,0:14:02.800 +and pause buttons but i didn't know this + +0:13:59.519,0:14:04.959 +but if you edit an svg file you can + +0:14:02.800,0:14:07.360 +toggle back and forth + +0:14:04.959,0:14:07.360 +between + +0:14:08.800,0:14:13.120 +between the code and the and the image + +0:14:13.199,0:14:17.360 +it's pretty sweet so i can kind of + +0:14:16.160,0:14:19.680 +iteratively work + +0:14:17.360,0:14:20.560 +work through this because of of how + +0:14:19.680,0:14:24.480 +emacs is + +0:14:20.560,0:14:24.959 +like that so um final considerations + +0:14:24.480,0:14:27.360 +here + +0:14:24.959,0:14:29.279 +like when doing this i want it to be all + +0:14:27.360,0:14:30.079 +free so i want to use fonts that use a + +0:14:29.279,0:14:32.800 +free license + +0:14:30.079,0:14:34.800 +i found gnu unifont it's kind of cool + +0:14:32.800,0:14:37.600 +the content license i chose + +0:14:34.800,0:14:39.920 +creative commons attribution share like + +0:14:37.600,0:14:42.880 +which is kind of like the gpl + +0:14:39.920,0:14:44.800 +ideally i could serve it with emacs i'd + +0:14:42.880,0:14:46.320 +like to remove idiosyncrasy so other + +0:14:44.800,0:14:48.720 +people can use it + +0:14:46.320,0:14:51.040 +it's pretty much just my tool right now + +0:14:48.720,0:14:51.440 +um not requiring the web browser i can + +0:14:51.040,0:14:54.079 +ship + +0:14:51.440,0:14:54.480 +playlists so that you can just you know + +0:14:54.079,0:14:58.000 +click + +0:14:54.480,0:15:00.639 +or link to a playlist on your favorite + +0:14:58.000,0:15:02.639 +player even emms if you want and then + +0:15:00.639,0:15:04.320 +packing up those albums in like a zip or + +0:15:02.639,0:15:08.639 +tar file + +0:15:04.320,0:15:10.880 +so um you can go to churls.world + +0:15:08.639,0:15:14.000 +it just has a link to this album i'll + +0:15:10.880,0:15:17.519 +display it here in just a second + +0:15:14.000,0:15:21.040 +you can contact me i'm shosheen on emacs + +0:15:17.519,0:15:23.680 +in irc and on sourcehut you can email me + +0:15:21.040,0:15:26.800 +grant at charles world personal or grant + +0:15:23.680,0:15:28.320 +on a bridge software all right now let's + +0:15:26.800,0:15:32.000 +see + +0:15:28.320,0:15:32.000 +about this + +0:15:32.079,0:15:35.120 +this is up online so if you want to + +0:15:33.680,0:15:39.199 +listen to my + +0:15:35.120,0:15:43.040 +college band's album from 20 years ago + +0:15:39.199,0:15:47.680 +here it is cassiopeia basement days + +0:15:43.040,0:15:48.000 +whoops i made this art in krita you can + +0:15:47.680,0:15:51.199 +press + +0:15:48.000,0:15:55.040 +play you can skip around + +0:15:51.199,0:15:58.560 +i did i do have the playlist up here too + +0:15:55.040,0:16:00.880 +so yeah thanks for listening + +0:15:58.560,0:16:04.000 +i hope you enjoyed it and enjoy the rest + +0:16:00.880,0:16:04.000 +of emacs conf + +0:16:04.360,0:16:07.360 +goodbye + -- cgit v1.2.3