WEBVTT 00:00:02.800 --> 00:00:09.200 I can, yes. 00:00:09.200 --> 00:00:13.120 Okay, yeah, so I'm Zachary Kanfer, 00:00:13.120 --> 00:00:14.920 let's go to the 00:00:14.920 --> 00:00:17.520 questions. The first question, "Why 00:00:17.520 --> 00:00:19.119 do we go top to bottom for time 00:00:19.119 --> 00:00:19.840 progression, 00:00:19.840 --> 00:00:23.920 and left to right for low to high?" 00:00:23.920 --> 00:00:27.279 Interesting, I think…, so the initial 00:00:27.279 --> 00:00:30.000 thing I was copying, that initial app 00:00:30.000 --> 00:00:35.280 work this way, and 00:00:35.280 --> 00:00:36.960 yeah, I mean, certainly traditional music, 00:00:36.960 --> 00:00:38.960 you know, on a staff 00:00:38.960 --> 00:00:43.040 does go left to right like this. 00:00:43.040 --> 00:00:46.000 I mean, going top to bottom does make 00:00:46.000 --> 00:00:47.440 it easier to add more beats without 00:00:47.440 --> 00:00:48.960 having to wrap, but certainly that could 00:00:48.960 --> 00:00:49.920 be managed. 00:00:49.920 --> 00:00:52.239 Yeah, I had not really thought about 00:00:52.239 --> 00:00:53.760 it, but it is definitely something worth 00:00:53.760 --> 00:00:55.199 looking into. 00:00:55.199 --> 00:01:02.480 Yeah. 00:01:02.480 --> 00:01:05.680 Ah, good point, thank you. Let me go ahead 00:01:05.680 --> 00:01:06.960 and do that. 00:01:06.960 --> 00:01:14.240 The entire screen… 00:01:14.240 --> 00:01:16.880 Okay, so the screen share should be 00:01:16.880 --> 00:01:18.320 starting, 00:01:18.320 --> 00:01:21.439 there we go. Cool, all right. 00:01:21.439 --> 00:01:24.880 Two, "Will you play us another song?" Not 00:01:24.880 --> 00:01:26.640 now, I can make some recordings of 00:01:26.640 --> 00:01:28.080 it, or certainly you can try it. 00:01:28.080 --> 00:01:30.720 I couldn't quite get the 00:01:30.720 --> 00:01:33.119 microphone and the webcam and everything 00:01:33.119 --> 00:01:37.040 to work with the sound playing now. So, 00:01:37.040 --> 00:01:40.079 I can record some. Also, please… 00:01:40.079 --> 00:01:43.520 I have put a link at the… here in the 00:01:43.520 --> 00:01:46.640 Etherpad, zck.org/emacsconf2020 [updated], 00:01:46.640 --> 00:01:48.479 where you can go and get the source, 00:01:48.479 --> 00:01:49.920 and you can try it yourself. There's 00:01:49.920 --> 00:01:51.920 no dependencies needed, so it's just all 00:01:51.920 --> 00:01:54.560 in Emacs. So, please, you know, try it 00:01:54.560 --> 00:01:57.040 yourself. 00:01:57.040 --> 00:02:00.079 "Any chance for an Emacs tracker or mod 00:02:00.079 --> 00:02:01.040 player?" 00:02:01.040 --> 00:02:03.680 I don't really know what a mod player 00:02:03.680 --> 00:02:04.479 or tracker 00:02:04.479 --> 00:02:08.000 are, but I mean, I'm sure 00:02:08.000 --> 00:02:09.679 that would be cool, maybe there's one 00:02:09.679 --> 00:02:11.599 on now, but I don't know. 00:02:11.599 --> 00:02:13.920 My musical background. So, I've played 00:02:13.920 --> 00:02:15.200 various instruments since about the 00:02:15.200 --> 00:02:15.840 third grade. 00:02:15.840 --> 00:02:18.160 Started recorder, play cello, I play 00:02:18.160 --> 00:02:19.520 guitar now. 00:02:19.520 --> 00:02:22.560 But yeah, so just kind of random 00:02:22.560 --> 00:02:23.680 instruments, and 00:02:23.680 --> 00:02:26.959 I guess kind of some of those 00:02:26.959 --> 00:02:27.280 things 00:02:27.280 --> 00:02:30.480 influence how I think about music. 00:02:33.519 --> 00:02:35.360 "Are there any open source musical 00:02:35.360 --> 00:02:36.640 management sample libraries that could 00:02:36.640 --> 00:02:37.840 be used?" 00:02:37.840 --> 00:02:41.200 Good question, I'm sure there are, I 00:02:41.200 --> 00:02:42.400 don't know any of that integrate really 00:02:42.400 --> 00:02:43.360 well with Emacs. 00:02:43.360 --> 00:02:44.560 One of the cool things that I liked 00:02:44.560 --> 00:02:45.680 about this is that there are no 00:02:45.680 --> 00:02:47.440 dependencies, 00:02:47.440 --> 00:02:49.360 you know, you don't need any external 00:02:49.360 --> 00:02:50.800 program to 00:02:50.800 --> 00:02:53.040 generate the music. I mean, it does 00:02:53.040 --> 00:02:54.160 shell out to 00:02:54.160 --> 00:02:57.280 to play, but that 00:02:57.280 --> 00:02:58.640 should be able to be done on any 00:02:58.640 --> 00:02:59.840 operating system, as always, you have 00:02:59.840 --> 00:03:03.519 something that can play WAVE files, 00:03:03.519 --> 00:03:05.599 but yeah, it is interesting to kind of 00:03:05.599 --> 00:03:10.000 try the different sounds and different 00:03:10.000 --> 00:03:12.239 tones that you could get with 00:03:12.239 --> 00:03:14.400 different instruments. 00:03:14.400 --> 00:03:16.959 Have I written any actual songs? 00:03:16.959 --> 00:03:21.040 Nothing super 00:03:21.040 --> 00:03:23.680 well put together, I kind of just 00:03:23.680 --> 00:03:25.519 been playing around with this. 00:03:25.519 --> 00:03:27.440 It's kind of… making this was one of 00:03:27.440 --> 00:03:29.040 those things where once I made it, I 00:03:29.040 --> 00:03:30.080 was like, okay, 00:03:30.080 --> 00:03:31.280 now I can play with it, and I did a 00:03:31.280 --> 00:03:32.720 little bit, and was like, I don't know if 00:03:32.720 --> 00:03:33.920 I feel like it right now. 00:03:33.920 --> 00:03:37.280 You know, which I've found that to 00:03:37.280 --> 00:03:38.720 be the case with some things that I've 00:03:38.720 --> 00:03:39.599 implemented 00:03:39.599 --> 00:03:41.360 in Emacs where it's… I make it, and then 00:03:41.360 --> 00:03:43.519 it's the kind of some of the desire to 00:03:43.519 --> 00:03:44.480 use it all the time 00:03:44.480 --> 00:03:46.879 goes away, but I'm sure I'll circle back 00:03:46.879 --> 00:03:47.760 around 00:03:47.760 --> 00:03:51.040 at some point especially kind of maybe 00:03:51.040 --> 00:03:52.400 once I add in different tones or 00:03:52.400 --> 00:03:54.640 something. 00:03:54.640 --> 00:03:56.400 I guess a similar question for 00:03:56.400 --> 00:03:57.840 pre-recorded sounds. Yeah, I mean, 00:03:57.840 --> 00:04:01.120 if it's… part of what I did, what I wrote 00:04:01.120 --> 00:04:02.080 was a 00:04:02.080 --> 00:04:04.720 WAVE generation library, so, if you kind 00:04:04.720 --> 00:04:06.720 of have the data, 00:04:06.720 --> 00:04:08.400 you could use those and chop them 00:04:08.400 --> 00:04:10.159 up and take certain lengths of them 00:04:10.159 --> 00:04:13.360 and make a WAVE file, so it's not plug and 00:04:13.360 --> 00:04:14.959 play right now, but you could certainly 00:04:14.959 --> 00:04:19.120 add those notes to do it. 00:04:19.120 --> 00:04:22.720 "Any MIDI mapping possibilities?" 00:04:22.720 --> 00:04:24.560 I haven't looked into it, but I'm sure 00:04:24.560 --> 00:04:26.160 you definitely could output to MIDI 00:04:26.160 --> 00:04:28.800 which is another benefit of having 00:04:28.800 --> 00:04:30.400 that multiple layers with the top layer 00:04:30.400 --> 00:04:31.520 is just, 00:04:31.520 --> 00:04:33.360 you know, if the root note is this, 00:04:33.360 --> 00:04:35.120 we're just two semitones up or seven 00:04:35.120 --> 00:04:36.560 semitones up or whatever it is. 00:04:36.560 --> 00:04:38.160 It should be relatively simple to 00:04:38.160 --> 00:04:40.720 kind of switch out that layer underneath 00:04:40.720 --> 00:04:44.479 from WAVE to MIDI or other things. 00:04:44.479 --> 00:04:45.759 "What were some of the challenges with 00:04:45.759 --> 00:04:47.520 writing a special mode for Emacs?" 00:04:47.520 --> 00:04:49.759 Interested in getting into this, not 00:04:49.759 --> 00:04:51.040 sure where to start. 00:04:51.040 --> 00:04:54.960 There… yeah, it so… 00:04:54.960 --> 00:04:57.120 this isn't the first mode I've written, 00:04:57.120 --> 00:04:58.320 so that's right…, 00:04:58.320 --> 00:05:01.759 certainly that helps. I actually… 00:05:01.759 --> 00:05:05.600 I have a video that we recorded it 00:05:05.600 --> 00:05:08.240 as part of EmacsNYC on making a major 00:05:08.240 --> 00:05:09.039 mode. 00:05:09.039 --> 00:05:10.720 That's basically starts from 00:05:10.720 --> 00:05:12.639 nothing, and kind of builds up to 00:05:12.639 --> 00:05:15.680 an implementation of tic-tac-toe, 00:05:15.680 --> 00:05:17.039 but so it kind of goes into printing 00:05:17.039 --> 00:05:19.600 things out and buttons and making the 00:05:19.600 --> 00:05:21.280 mode. 00:05:21.280 --> 00:05:22.800 I mean, one of the best parts about Emacs 00:05:22.800 --> 00:05:24.560 is, because it's so 00:05:24.560 --> 00:05:26.479 configurable and so introspectible, 00:05:26.479 --> 00:05:28.479 you can start pretty simply, 00:05:28.479 --> 00:05:30.320 and just kind of ask Emacs about things, 00:05:30.320 --> 00:05:32.320 and then make one little 00:05:32.320 --> 00:05:34.960 change. It's really… it's not that bad, 00:05:34.960 --> 00:05:39.039 so, I'll try to throw a link up on that 00:05:39.039 --> 00:05:40.560 page I put up, or 00:05:40.560 --> 00:05:42.000 please email me for whoever asked this 00:05:42.000 --> 00:05:44.479 question to get a link to that video, 00:05:44.479 --> 00:05:46.240 or just look at the source 00:05:46.240 --> 00:05:47.919 code of this or any other major mode. 00:05:47.919 --> 00:05:50.479 Emacs makes it 00:05:50.479 --> 00:05:52.880 pretty easy to extend 00:05:52.880 --> 00:05:56.479 major modes. And I think that's 00:05:56.479 --> 00:05:57.600 the last question 00:05:57.600 --> 00:06:00.240 in the Etherpad, so, thanks so much 00:06:00.240 --> 00:06:02.479 everybody for coming. 00:06:04.033 --> 00:06:06.720 (Amin: Thank you so much 00:06:06.720 --> 00:06:09.039 to Zachary for your awesome talk, 00:06:09.039 --> 00:06:12.960 and for doing live questions. 00:06:12.960 --> 00:06:19.840 Thank you.) Thank you. (Amin: Cheers.)