<ZombieChicken>
emacsomancer: Does that support scribble/lp2?
<emacsomancer>
ZombieChicken: I would think so. (see from the recent racketcon: https://youtu.be/xSjk2PdQm5k?t=18236 on general features of racket-mode)
<ZombieChicken>
thanks. I'll take a look
<emacsomancer>
it has some cool macro-expansion/stepping stuff I didn't know about
notzmv has quit [Remote host closed the connection]
<nisstyre>
I don't think there is a stdlib function for that
<nisstyre>
(also that function should handle the empty list)
endformationage has joined #racket
zipper has quit [Ping timeout: 248 seconds]
zipper has joined #racket
gnugnugnu has joined #racket
zipper has quit [Ping timeout: 248 seconds]
zipper has joined #racket
pie_ has quit [Ping timeout: 250 seconds]
zipper has quit [Ping timeout: 248 seconds]
zipper has joined #racket
zipper has quit [Ping timeout: 244 seconds]
zipper has joined #racket
orivej has quit [Ping timeout: 272 seconds]
vraid has quit [Quit: Leaving]
iyzsong has quit [Ping timeout: 264 seconds]
ziyourenxiang_ has quit [Ping timeout: 245 seconds]
zipper has quit [Ping timeout: 258 seconds]
manualcrank has joined #racket
dustyweb has quit [Ping timeout: 276 seconds]
zipper has joined #racket
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
zipper has quit [Ping timeout: 268 seconds]
zipper has joined #racket
efm has joined #racket
dimitarvp has joined #racket
dimitarvp has quit [Client Quit]
manualcrank has quit [Quit: WeeChat 1.9.1]
zipper has quit [Ping timeout: 272 seconds]
dustyweb has joined #racket
zipper has joined #racket
efm has quit [Quit: Konversation terminated!]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
soegaard has quit [Quit: soegaard]
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
orivej has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie__ has joined #racket
pie__ has quit [Client Quit]
soegaard has joined #racket
zipper has quit [Quit: WeeChat 2.5]
orivej has quit [Ping timeout: 248 seconds]
Trieste has joined #racket
orivej has joined #racket
<Trieste>
hi, I'm just starting out with Racket, and I want to use RSound to mix, cut and append some audio files - but the audio files will likely be mp3s or oggs, and my googling hasn't really brought much fruit - other than using ffmpeg to convert the files to wavs somewhere in a temporary directory, is there a way I could make a rsound out of something which was a mp3/ogg?
<soegaard>
I think you are right that all sounds needs to be wavs.
<soegaard>
Using ffmpeg to convert mp3 to wav seems fine to me.
<Trieste>
yeah, the docs seem to be quite clear on this, I'm just wondering if my only option is to actually create and write .wav files somewhere, or I can use an external decoder, and just pass rsound the audio in memory
<greghendershott>
Usually the quality is better if your source and edit files are not lossy-compressed (like mp3 or ogg).
<greghendershott>
Traditionally lossy compressing is a final, "export" or "master" step.
<greghendershott>
So I think RSound is following that model.
<Trieste>
right, unfortunately I don't really have that luxury :( hence my question
<greghendershott>
If some source files is only available lossy compressed, and you get a decent wav from it, that's fine.
<greghendershott>
But generations of editing with lossy-ness tends to, well, lose things. :)
<greghendershott>
Is why audio tools like RSound tend to work on uncompressed audio.
<greghendershott>
I guess they could use lossless compressed files, and maybe 20 years ago when hard drives were smaller that would have helped.
<greghendershott>
But these days audio is like, pfft, whatever, compared to video. :)
<greghendershott>
Trieste: Sorry I'm kind of blabbing about the justification. What soegaard said is the short answer TL;DR.
<Trieste>
right, the justifications makes sense, nevertheless my problem remains
<Trieste>
but it just occurred to me I could use named pipes to avoid having to create the intermediary wav file, so I think I'll try that :)
<soegaard>
If you need to, your Racket program can invoke ffmpeg using the command `system`.
<soegaard>
greghendershott: I am having fun with racket-mode and Emacs. Defining a few key bindings that are ingrained from using DrRacket etc.
orivej has quit [Ping timeout: 245 seconds]
<soegaard>
It feels faster than DrRacket.
<soegaard>
I am impressed by the number of features racket-mode has.
<soegaard>
So far I have used raco make in the terminal, but is there a racket-mode feature somewhere, that I have missed?
<greghendershott>
You haven't missed a feature. Maybe I should do a new tips section in the guide. Various choices.
<greghendershott>
For small projects I tend just not to byte-compile anything.
<greghendershott>
Except as part of running tests, then clean it after.
<greghendershott>
For projects with more macro-expansion, e.g. typed racket, that isn't always practical.
<greghendershott>
There, I tend to have a very simple makefile, or just invoke raco make or raco setup.
<greghendershott>
And I use emacs' generic compilation-mode, for that.
<greghendershott>
Just because it collects errors in one buffer, and the standard next-error command works.
<greghendershott>
Finally, there's an emacs package called projectile, which I like.
<greghendershott>
It looks for a .git or whatever to decide something is the top dir of a project.
<greghendershott>
and then a bunch of commands work as you'd want, for that project.
sauvin has quit [Read error: Connection reset by peer]
<greghendershott>
Including make this project, run tests for this project, do a search within files for this project, etc.
FreeFull has joined #racket
<greghendershott>
So that's basically my story about that. Again, maybe this would be helpful to discuss in the guide.
ym555 has joined #racket
<soegaard>
I can see that for small projects no bytecode is fine.
<greghendershott>
For Racket Mode features, I'm always balancing "do something bespoke" vs. "defer to other existing Emacs features and packages".
<soegaard>
I am hacking on MetaPict at the moment, and without bytecode compilation, things get sluggish.
<greghendershott>
But then when the "best" answer is the latter, then it's a documentation issue: Help people know about the latter.
<greghendershott>
Yep. Even big projects in the sense of dozens of files, no bytecode can be fine. But "big" in macro-expansion, not so much.
<soegaard>
I'll need think through what I actually need. I'd like to avoid making the whole project - but figuring out which files to byte compile (automatically) when a change is made is non-trivial.
<soegaard>
Manually bytecompiling a few files isn't too cumbersome.
<greghendershott>
Where I am byte-compiling, often I'm working in one or two files that are "downstream" in the require chain and things just-work.
<greghendershott>
From time to time I do a make.
<greghendershott>
It seems to work out. But, it's not as automatic as DrRacket.
<soegaard>
Yeah. It is changes in "upstream" that causes upsets.
<greghendershott>
raco setup on a project where only a few files need to be remade, it usually pretty quick IME.
ym555 has quit [Read error: Connection reset by peer]
<greghendershott>
Hmm actually. The racket-run command does call before-run hook functions. You could add a hook to invoke raco make or raco setup. It would make every run somewhat slower, but maybe not too much? Depends on the project.
<greghendershott>
The thing I'm talking about is `racket--repl-before-run-hook`. But it's not documented, and it uses that naming convention that passes for "not public" in Emacs Lisp.
<greghendershott>
IOW this is really intended just for racket-mode to use itself.
<greghendershott>
But if someone found it useful, I'd definitely consider renaming it, doc-ing it, and making it "official".
ym555 has joined #racket
<soegaard>
Thanks I'll take a look. A typical case: I edit a.rkt typically adding something in a provide (and there is an old a.zo) then run test-a.rkt and get the error "; possibly, bytecode file needs re-compile because dependencies changed".
<soegaard>
Since the timestamp of a.rkt is later than a.zo racket-mode could prompt me whether to make a.rkt.
<soegaard>
But ... that is the simple case.
ubLIX has joined #racket
<soegaard>
Now time to check the projectile package.
ZombieChicken has quit [Ping timeout: 258 seconds]
<lavaflow>
does anybody know how to make geiser output all stdout coming from racket, unconditionally?
<lavaflow>
right now it seems conditional on something and I'm not sure what
<lavaflow>
active module maybe? or something to do with threads? I'm running the repl as an external process if that makes a difference.
ubLIX has quit [Quit: ubLIX]
DGASAU has quit [Read error: Connection reset by peer]
DGASAU has joined #racket
ubLIX has joined #racket
dustyweb has quit [Ping timeout: 276 seconds]
ym555_ has joined #racket
ym555 has quit [Ping timeout: 258 seconds]
manualcrank has joined #racket
dmiles has quit [Ping timeout: 244 seconds]
dustyweb has joined #racket
gnugnugnu has quit [Quit: WeeChat 2.5]
Lowl3v3l has quit [Ping timeout: 245 seconds]
acarrico has joined #racket
ym555 has joined #racket
ym555_ has quit [Ping timeout: 272 seconds]
ym555 has quit [Ping timeout: 246 seconds]
badkins has joined #racket
badkins has quit [Remote host closed the connection]