foo. bar. baz. quux.
Schemep3
From WikiBazQuux
(Difference between revisions)
| Revision as of 19:50, 1 July 2008 Cwbowron (Talk | contribs) (→Features) ← Previous diff |
Revision as of 14:18, 2 July 2008 Cwbowron (Talk | contribs) (→Features) Next diff → |
||
| Line 43: | Line 43: | ||
| ** last.fm submission | ** last.fm submission | ||
| ** id3lib ffi | ** id3lib ffi | ||
| - | ** TagLib ffi | + | * '''TagLib''' |
| + | ** ffi interface to C wrapper functions | ||
| + | ** scheme extension for id3v2 frame blocks | ||
| * '''OS Specific''' | * '''OS Specific''' | ||
| ** Windows | ** Windows | ||
Revision as of 14:18, 2 July 2008
Schemep3 is a mp3 and flac playback system and database.
schemep3 is written in MzScheme and uses the MrEd GUI toolkit.
It is built on top of Jay McCarthy's sqlite module. It uses a slave mplayer process for audio playback.
If you are interested in the code, please email me at chris SQUIGGLE bowron dizzot us.
Features
- SQLite Database
- Track last played and play count
- Tags
- FLAC
- tag parser
- duration
- mp3
- id3v1 tag reader
- id3v2 tag reader
- estimates playback length (hacky)
- FLAC
- Playback
- Uses external mplayer process
- playback seek by clicking on progress bar
- Playlist
- Accepts dropped files or results from database query
- Configurable format
- Marks the current playing file in the playlist
- Playlist ordering using meta-up, meta-down
- Saved / restored using database
- Playback Queue
- Play next option
- Add to queue option
- GUI
- Optional album art display (folder.jpg)
- UI for changing ratings
- Progress bar
- keyboard controls
- enter -> play
- space -> pause
- n,N -> next
- Misc
- Export to m3u (playlist context menu)
- Store preferences in db ( scrobbler username, password )
- last.fm submission
- id3lib ffi
- TagLib
- ffi interface to C wrapper functions
- scheme extension for id3v2 frame blocks
- OS Specific
- Windows
- Pause on terminal lock
- global hotkeys (C-A-Space => Pause, C-A-Right Arrow => Next )
- Windows
To Do
in no particular order
- database updates from file (add currently works)
- dropping an m3u loads all the files contained in it
- multiple playlists
- playlist tree - primitive prototype working
- store / restore queries
- scheme based queries...
- playback queue viewer
- copy to mp3 player (and convert -> mp3)
- converter
- input -> pcm -> mp3 via mplayer and lame is working
- converter
- audioscrobbler caching
- file management?
- automatically move files into their correct spot in my hierarchy
- native extension bridging TagLib and PLT
- Access ALL frames and tags
