dhobsd / castty

A CLI tool to record audio-enabled screencasts of your terminal, for the web.
Other
117 stars 15 forks source link

ui/js/player.js: Quick and dirty support for on-screen annotations. #30

Open pfalcon opened 6 years ago

pfalcon commented 6 years ago

It's a mystery for me why asciinema doesn't support on-screen annotations. Thanks for putting up an alternative player written in non-obscure language (as much as JS can be called that).

I'm going to submit RFC for inclusion of annotations in asciinema v2 format, referring to this PR.

ku1ik commented 6 years ago

@pfalcon asciinema doesn't support on-screen annotations because they were not implemented. They were not implemented because there were other priorities and nobody had time for that. Nobody had time for that because we all do it for fun, in our spare time, for free, and nobody pays us to do it. Your privileged, demanding attitude (which can be seen in other issues) makes me sick. I chose ClojureScript for asciinema player because I know it, I like it and I believe it's great fit for this project. Not everybody knows it, not everybody likes it, but that's life. I don't like JS, but I don't go to non-JS projects on Github, whining about how obscure/terrible language choice other developers, (who put their free time and energy into their projects) made. Here's your mystery, demystified. 👎

pfalcon commented 6 years ago

@sickill : Hey, you don't need to defend your choices, just accept that other people have different ones, and feel free to find anything good in the feedback you receive. Or just keep being sick ;-).

andyone commented 6 years ago

@pfalcon

just accept that other people have different ones

Keep your opinions to yourself. It's called being polite.

dhobsd commented 6 years ago

Apologies for the radio silence. I started a new job in August and missed the notifications here.

The kind of hyperbole in the PR description and the subsequent comments is about as welcome here as you all found it in the first place. Please keep these sorts of interactions out of my repositories.

Regarding the PR, I'm hesitant to merge this, not because I don't think it's a good idea, but because I don't know how one is intended to insert the annotations. I see that you've added some information about that at https://github.com/asciinema/asciinema/issues/257.

Closed-captioning is something I'd really like to support for accessibility reasons. I don't believe this can be done in the asciicast v2 format (which CasTTY doesn't yet support) without extensions. I had also lobbied for custom data in asciicast v2 so that there would be a guaranteed way for players to provide additional features, but that didn't make the cut. As such, I don't want to deviate from the format, since it's not exactly unpopular.

I propose that we pick a subtitle format (like WebVTT) and implement automatic generation of annotations by passing that file in as an argument to the player and parsing it. This would also make it easier to keep in sync with the audio, which is a bit hard in the asciicast v1 format.

I'd also like to see a little more discussion about how folks can more easily create these annotations, as I'm unlikely to have time to add an editor to CasTTY in the near future. Would you be able to make a Javascript UI that embeds a player, allows the user to pause the video, and writes out annotations as they're typed in, storing them to localStorage, and allowing folks to copy-paste the VTT into a file? At that point, we'd have a full solution.