foo. bar. baz. quux.
Schemep3
From WikiBazQuux
(Difference between revisions)
| Revision as of 20:18, 8 July 2008 Cwbowron (Talk | contribs) (→Dependencies) ← Previous diff |
Revision as of 20:20, 8 July 2008 Cwbowron (Talk | contribs) (→Features) Next diff → |
||
| Line 10: | Line 10: | ||
| * '''SQLite Database''' | * '''SQLite Database''' | ||
| ** Track last played and play count | ** Track last played and play count | ||
| - | * '''Tags''' - ''will be switching to taglib'' | + | * '''Tags via TagLib''' |
| - | ** FLAC | + | ** FFI interface to C wrapper functions |
| - | *** tag parser | + | ** scheme extension for id3v2 frame blocks |
| - | *** duration | + | ** scheme extension for flac comments |
| - | ** mp3 | + | |
| - | *** id3v1 tag reader | + | |
| - | *** id3v2 tag reader | + | |
| - | *** estimates playback length (hacky) | + | |
| * '''Playback''' | * '''Playback''' | ||
| ** Uses external mplayer process | ** Uses external mplayer process | ||
| Line 38: | Line 34: | ||
| *** space -> pause | *** space -> pause | ||
| *** n,N -> next | *** n,N -> next | ||
| - | * '''TagLib''' | ||
| - | ** FFI interface to C wrapper functions | ||
| - | ** scheme extension for id3v2 frame blocks | ||
| - | ** scheme extension for flac comments | ||
| * '''Misc''' | * '''Misc''' | ||
| ** Export to m3u (playlist context menu) | ** Export to m3u (playlist context menu) | ||
| ** Store preferences in db ( scrobbler username, password ) | ** Store preferences in db ( scrobbler username, password ) | ||
| ** last.fm submission | ** last.fm submission | ||
| - | ** id3lib ffi - ''deprecated for taglib'' | ||
| * '''OS Specific''' | * '''OS Specific''' | ||
| ** Windows | ** Windows | ||
| *** Pause on terminal lock | *** Pause on terminal lock | ||
| *** global hotkeys (C-A-Space => Pause, C-A-Right Arrow => Next ) | *** global hotkeys (C-A-Space => Pause, C-A-Right Arrow => Next ) | ||
| + | * Deprecated | ||
| + | ** id3lib ffi - ''deprecated for taglib'' | ||
| + | ** FLAC | ||
| + | *** tag parser | ||
| + | *** duration | ||
| + | ** mp3 | ||
| + | *** id3v1 tag reader | ||
| + | *** id3v2 tag reader | ||
| + | *** estimates playback length (hacky) | ||
| === To Do === | === To Do === | ||
Revision as of 20:20, 8 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.
Contents |
Features
- SQLite Database
- Track last played and play count
- Tags via TagLib
- FFI interface to C wrapper functions
- scheme extension for id3v2 frame blocks
- scheme extension for flac comments
- 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
- OS Specific
- Windows
- Pause on terminal lock
- global hotkeys (C-A-Space => Pause, C-A-Right Arrow => Next )
- Windows
- Deprecated
- id3lib ffi - deprecated for taglib
- FLAC
- tag parser
- duration
- mp3
- id3v1 tag reader
- id3v2 tag reader
- estimates playback length (hacky)
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
- mostly working
- automatically move files into their correct spot in my hierarchy
