WEBVTT 00:00:02.800 --> 00:00:09.200 I can yes 00:00:09.200 --> 00:00:13.120 okay um yeah so I'm uh zachary canfer 00:00:13.120 --> 00:00:14.920 let's go to the 00:00:14.920 --> 00:00:17.520 questions uh the first question uh 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 uh and left to right uh for low to high 00:00:23.920 --> 00:00:27.279 interesting I think uh so the initial 00:00:27.279 --> 00:00:30.000 uh thing I was copying that initial app 00:00:30.000 --> 00:00:31.599 work this way 00:00:31.599 --> 00:00:35.280 um 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 uh 00:00:38.960 --> 00:00:43.040 does go left to right uh like this 00:00:43.040 --> 00:00:46.000 um 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 um yeah I 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 uh yeah you are now unmuted 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 uh 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 uh 00:01:21.439 --> 00:01:24.880 two will be placed on the song um not 00:01:24.880 --> 00:01:26.640 now I can 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 um I couldn't quite get the 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 um so 00:01:37.040 --> 00:01:40.079 uh I can record some also please uh 00:01:40.079 --> 00:01:43.520 I put a link at the uh here in the uh 00:01:43.520 --> 00:01:46.640 etherpad https://zck.me/emacsconf2020 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 uh 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 um 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 um 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 uh maybe there's one 00:02:09.679 --> 00:02:11.599 on now but I don't know uh 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 uh started recorder uh play cello I play 00:02:18.160 --> 00:02:19.520 guitar now 00:02:19.520 --> 00:02:22.560 um 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 uh yeah 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 um 00:02:30.480 --> 00:02:33.519 uh yeah um 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 um good question I'm sure there are um I 00:02:41.200 --> 00:02:42.400 don't know any 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 uh generate the music I mean it it does 00:02:53.040 --> 00:02:54.160 shell out to 00:02:54.160 --> 00:02:57.280 to play um 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 wav files 00:03:03.519 --> 00:03:05.599 um but yeah it is interesting to kind of 00:03:05.599 --> 00:03:06.879 try the different 00:03:06.879 --> 00:03:10.000 uh different sounds and different 00:03:10.000 --> 00:03:12.239 tones uh 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 um 00:03:16.959 --> 00:03:17.599 nothing 00:03:17.599 --> 00:03:21.040 super uh 00:03:21.040 --> 00:03:23.680 uh well put together just 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 I making this was one of 00:03:27.440 --> 00:03:29.040 those things where like 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 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 like 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 wav 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 uh to do it 00:04:19.120 --> 00:04:21.040 um any knitting midi mapping 00:04:21.040 --> 00:04:22.720 possibilities um 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 um 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 like 00:04:31.520 --> 00:04:33.360 um 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 uh 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 uh 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 uh 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 um there uh 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 um so that's right 00:04:58.320 --> 00:05:01.759 certainly that helps um I actually 00:05:01.759 --> 00:05:05.600 um I have a video that we recorded it 00:05:05.600 --> 00:05:08.240 as part of Emacs nyc on making a major 00:05:08.240 --> 00:05:09.039 mode 00:05:09.039 --> 00:05:10.720 that's basically like 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 um 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 uh 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 asking max about things 00:05:30.320 --> 00:05:32.320 and then make one little 00:05:32.320 --> 00:05:34.960 change um it's really it's not that bad 00:05:34.960 --> 00:05:36.479 so uh 00:05:36.479 --> 00:05:39.039 I'll try to throw a link up on that uh 00:05:39.039 --> 00:05:40.560 on on that 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 uh to get a link to that video 00:05:44.479 --> 00:05:46.240 um or just look at 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 um it it's pretty ems breaks it makes it 00:05:50.479 --> 00:05:52.880 pretty easy to extend uh 00:05:52.880 --> 00:05:56.479 major modes and I think that's that's 00:05:56.479 --> 00:05:57.600 the last question 00:05:57.600 --> 00:06:00.240 in the ether pad so uh thanks so much 00:06:00.240 --> 00:06:02.479 everybody for coming 00:06:02.479 --> 00:06:06.720 you are now unmuted uh thank you so much 00:06:06.720 --> 00:06:09.039 to curry 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 cheers