Time Nick Message 15:23 MTDiscord Hey Josiah, if I wanted to get us webp support (smaller texture compression than png, better lossy than jpeg), I need to know how we would handle the dependency. It's a apache licensed source base, google provides the repo. Linux supports the libwebp and libwebp-dev packages, so we could depend on it that way. Just wondering how we would add such a dependency normally? I'm thinking we need webp for textures, and add support for 15:23 MTDiscord .gtlf/.collada and .midi via fluidsynth to get our file support and options better. So webp is the lowest hanging fruit 15:25 MTDiscord Best case, they have documentation for using their project with CMake, and you load their config file and link to a target. 15:26 MTDiscord Second best case is the same except you need to link to a library and add their header directory. 15:27 MTDiscord If they don't use CMake you have to manually implement a search for it in CMake that sets appropriate variables, which sucks. 15:29 MTDiscord If it's all done in Irrlicht Minetest doesn't need to link to it. If Minetest needs headers they'll be forwarded from the Irrlicht setup courtesy of CMake. 15:30 MTDiscord Not sure exactly how you're planning to manage that. PNG and JPEG image support are in Irrlicht... 15:38 MTDiscord Gotcha, I'll put it in irrlicht-mt then 15:38 MTDiscord Not a big deal sense we forked 15:38 MTDiscord Since** 15:38 MTDiscord hopes for cmake.lists 15:39 Pexin I don't understand, whether it's in mt or irrmt, you have to do the same lib shenanigans 15:44 MTDiscord Right, but if it's in IrrlichtMt you don't have to even touch Minetest build code. 15:45 Pexin ah, which is probably more complex and easy to break huh 15:47 MTDiscord IDK, it means less duplicate stuff, and it should make the build code smaller. 15:48 MTDiscord And less ineffecient. 15:48 MTDiscord @Exe, Virus webp has full CMake support. 15:49 MTDiscord nice 15:49 MTDiscord now to make sure I understand how to do cmake's find and if webp-dev does that and whatnot 15:49 MTDiscord sadly, I have only like 12 hours of cmake experience under my belt 15:49 MTDiscord so 0.1% of the way to "mastery" 15:50 MTDiscord please no midi support, use tracker music formats with embedded samples 15:50 Pexin midi is awesome 15:50 MTDiscord sorry, midi is easier to support and has open source libraries 15:50 MTDiscord tracker music formats are mostly closed 15:50 MTDiscord so is minetest gonna ship with a soundfont or is it gonna sound different on every platform? 15:50 MTDiscord we can always add that support in later 15:50 Pexin midi also lets people use hardware midi or custom client samples 15:51 MTDiscord probably ship with the musescore 12MB one, that's a later decision 15:51 MTDiscord ideally, you could also provide one when running a server 15:51 MTDiscord and it would be sent as a media file 15:52 Pexin hm. going to need a per-game setting for endusers to override the server's suggested soundfont then... 15:52 MTDiscord But yeah, we'd have to choose a default, and allow you to ship any soundfont you want 15:52 MTDiscord something like in lua: playMidi(file.midi, file.soundfont) 15:52 MTDiscord the midi could be text or a file 15:52 MTDiscord and the soundfont if nil, defaults to our shipping one 15:53 MTDiscord just my personal thoughts on the subject. Either way, being able to send midi in realtime is super duper helpful and allwos a lot more player-server-music interactions 15:53 MTDiscord libmodplug is a thing 15:54 Pexin scenario: if I'm a user with a custom default client midi config, but I want to specify that a specific server still uses its suggested, server-provided soundfont 15:54 MTDiscord It is, but it's got very similar issues 15:54 MTDiscord users can always override, honestly 15:54 Pexin but per whitelist or blacklist 15:54 MTDiscord perhaps? again they can just ignored 15:55 MTDiscord @Exe, Virus They didn't export a target. You cann do find_package(WebP) and it'll create variables WEBP_INCLUDE_DIRS and WEBP_LIBRARIES. 15:55 MTDiscord Either way, I'm not against shipping BOTH libmodplug and fluidsynth 15:55 MTDiscord It's very minimally different and we ARE an engine..... 15:56 MTDiscord we're supposed to support lots of varied formats and whatnot 15:56 MTDiscord It should be pretty easy to add. It'll be just like the other examples in the build file. 15:56 MTDiscord Okay, that's helpful Josiah, are you sure you don't want to start the branch with support haha? I'll work it into the codebase, but if you do the cmake support, that could be helpful 15:57 MTDiscord as long as minetest isn't being bundled with fluidr3 or something equally ridiculous I'm happy 15:57 MTDiscord I could do that. 15:57 MTDiscord sure, just share back when you are finished, still got a newborn so my time is sporadic 15:57 MTDiscord fluidr3? 15:58 Pexin those things will kill you 15:58 MTDiscord I remember when my little brother was a newborn, no worries. xD 15:58 MTDiscord Oh. a big soundfont. No, definitely something under 15 MB 15:58 MTDiscord I actually did not know there existed such small soundfonts 15:58 MTDiscord Will let you know once I've got a branch ready, may be a day or two. 15:59 MTDiscord Yeah take a look at https://musescore.org/en/handbook/3/soundfonts-and-sfz-files 16:00 MTDiscord With .sf3 they added compression, so for example, the default with musescore is 35.9 MB 16:00 MTDiscord I figure sadly, that FluidR3Mono_GM.sf3 is a better fit at 13.8 MB, though it's exactly what you said not to use haha 16:01 MTDiscord oh no I meant the fluidr3 soundfont that's 150mb, 13mb is perfectly alright haha 16:02 MTDiscord well, I think uncompressed, it is 150Mb, so it's the same thing, just with ogg compression 16:02 MTDiscord that's all they did with .sf3, store the samples as .oggs 16:02 MTDiscord oh 16:03 MTDiscord yeah the soundfont I have installed here is an sf2 one, FluidR3_GM.sf2 16:08 MTDiscord Yeah browse that link, you'll see a compressed one of that there. Anyways, did I convince you that maybe fluidsynth and midi could work at those sizes? 16:10 MTDiscord definitively 16:13 MTDiscord awesome, that's never happened in my life haha 16:13 Pexin it's because midi is awesome 16:14 MTDiscord ic ic, the power of software 16:14 Pexin here hoping vgmusic.com is never shut down 16:17 MTDiscord archiving is fine, plus wayback machine..... 16:17 MTDiscord also, don't put infringing stuff on minetest cdb haha 16:20 Pexin out of curiosity, is there a problem if I hypothetically had infringing stuff in my game, and my game is listed in the official serverlist? 16:21 Pexin I mean there's a tmnt avatar in the userskin set for one thing 16:22 MTDiscord yes, there's issues with it, but nothing too crazy 16:22 MTDiscord I don't think we'll shut you down 16:22 Pexin pretty sure that userskin set is in many servers 16:22 MTDiscord but we may in the future deprioritize servers that infringe at some point 16:23 MTDiscord I personally wont be enforcing it hardcore 16:23 Pexin "your server has a user-made structure that looks like the captain america shield when viewed from , GET OFF OUR SERVERLIST 16:23 MTDiscord you could always contact the originl copyright holder 16:24 MTDiscord haha, yeah at some point it's just "okay" or "fair use" 16:24 Pexin now that I think of it, I wouldn't completely put it past Modern Disney to send lawyers in such a case 16:24 MTDiscord exactly 16:24 Pexin they craycray 16:24 MTDiscord but let them complain 16:25 MTDiscord and deal with it then i guess