jaames / jaames/flipnote-player
Discussion: Flipnote Player v4
- Dominant language
- JavaScript
- Stars
- 142
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
I think it's about time I took another pass at this - if anyone has any suggestions to add, please don't hesitate to reach out!
- **Improved audio:**
- ~~Redo flipnote.js audio implementation to use the web audio API instead of separate WAV audio elements for each track. This would require implementing audio resampling (mostly for Safari) and sample mixing, which I'm not really familiar with at all, but I can probably figure it out~~ Implemented in flipnote.js!
- We recently figured out what's causing messed up audio in DSi Gallery KWZs, but I'd need to figure out how to identify borked Flipnotes and implement a separate step for handling their audio
- ~~SimonTime recently figured out how to achieve hardware-accurate DSi audio output, it would be cool to implement this too~~ Implemented in flipnote.js!
- **Improved export functionality:**
- Batch export to a ZIP file!!
- Aspect ratio options for GIF/MP4/image export (adds padding on each side of the note)
- Remove MP4 speed presets, slow is... too slow, and the output size difference is minimal anyway
- Upgrade MP4 video converter to ffmpeg.wasm (see #15)
- WAV audio export
- **Code improvements:**
- Rewrite in Typescript
- Try out [linaria](https://github.com/callstack/linaria) or css modules because I don't like CSS in JS
- Move to react context API
- **UI improvements:**
- Full redesign, I think the general layout is okay but it looks a bit bland. Would be cool to incorporate elements from my [Fakenote Studio](https://github.com/jaames/fakenote-studio) project
- Expanded metadata view (see #14)
- Sorting options for browsing through Flipnotes (username sort, order by date, size, etc)
- Debug metadata view? (frame tables, offset printouts, etc)
- Expand "Flipnote File Location" popup with some graphics showing how to put Flipnotes on an SD card, how to eject it, etc
- Add a little dialog box explaining Flipnote Studio, a general gist of how the player works, and a changelog
- Add support for UI translations
- More transitions! More flair!
- **Misc:**
- Try to auto-crop and apply special audio processing for DSi gallery notes
- Feature detection to see whether the user can use all the features
- Allow sample Flipnotes to be downloaded in their original formats
- Add Aardman Flipnotes as samples, since they're a famous studio and that artwork was essentially lost in its original form
- ~~Get default layer visibility state from Flipnote metadata (flipnote.js)~~ done
- Assess Flipnote data validity, but don't block playback of invalid Flipnotes altogether (flipnote.js)
- Move external service (Kaeru, IPG, Sudomemo) API calls to backend
- Buy a domain name, move away from rakujira.jp
- Try out an undither filter like on https://bisqwit.iki.fi/story/howto/dither/jy/
Contributor guide
No contributing guide indexed for this repository
Research direction
No file, test, or entry point is named, and the issue lists many unrelated ideas, several already marked complete. Start by choosing one unchecked item and locating the existing player, export, UI, or service code it affects; define completion for that item before making changes, then verify it independently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, javascript, react, typescript
- Domain
- audio-video-rtc, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100