103 lines
3.4 KiB
Plaintext
103 lines
3.4 KiB
Plaintext
Future work:
|
|
I want to set reasonable expectations for Ocarina 6 so that I don't
|
|
have to spend a large amount of time coding before releasing something
|
|
to the wild. This section will be a list of features that I want, but
|
|
should be deferred to a future release so basic support can be coded.
|
|
|
|
Hint: If feature B depends on A, implement A in 6.x and B in 6.x+1
|
|
|
|
- Categories:
|
|
Use these to make "groups of groups" for better organization.
|
|
Different categories can include Album, Artist and Genere
|
|
dynamic groups in addition to user created groups (see below)
|
|
|
|
The Artist, Album and Genre "tables" can be used to populate
|
|
these categories.
|
|
|
|
- User created song groups:
|
|
Basic add and remove features can be implemented using the
|
|
Library and Banned Songs groups. This will give me a chance
|
|
to test saving groups on a small scale before letting users
|
|
create anything they want.
|
|
|
|
- Save a user's playlist as a group:
|
|
|
|
- Library defragment:
|
|
Ocarina 6.0 will leave holes in the library when tracks are
|
|
deleted, potentially leading to fragmentation and larger-than-
|
|
needed file sizes. A "defragment" utility can be created to
|
|
clean up unused slots.
|
|
|
|
To help with fixing groups, a mapping of (old values) ->
|
|
(new values) should be kept.
|
|
|
|
- Fix track durations:
|
|
Some tracks in my library are tagged with the wrong duration,
|
|
so fix them as they are played.
|
|
|
|
- Track tag editor:
|
|
Make a pop-up window for editing the tags of a track. Be sure
|
|
to update the library information and the on-disk file.
|
|
|
|
- Album art:
|
|
(easy) Start with album art fetching script
|
|
(hard) Build in to Ocarina
|
|
|
|
- Copy a song group to a different directory:
|
|
This can be useful for keeping an external device (like an
|
|
Android phone) updated with the music you want to listen to.
|
|
Complications: I have an mp3 mirror of all my music, and I
|
|
want the mp3s to be synced. Perhaps track mirrors in Ocarina?
|
|
|
|
- Mirror directory:
|
|
I rip music to .flac, but keep an mp3 mirror directory to sync
|
|
to other computers and phones. An Ocarina tool to manage a
|
|
COMPLETE library mirror might be a good idea so I no longer
|
|
need to manage it externally. This can still be done with a
|
|
script, a cron job, and maybe a "mirror this track" option in
|
|
the library? Perhaps create a mirror group?
|
|
|
|
- Extra testing ideas:
|
|
- Test callbacks
|
|
- Create a default main() that deletes data directory
|
|
|
|
- Preferences:
|
|
- Set default sort
|
|
- Save window size
|
|
- Set album art size
|
|
|
|
- AirPlay / remote audio support
|
|
|
|
- Media keys
|
|
|
|
- Replaygain support
|
|
External script to calculate values?
|
|
Calculate value after first playback?
|
|
Store in library :: Track structure
|
|
|
|
- Playqueue and database inherit from common class
|
|
- "About" dialog
|
|
- Investigate "Bulk insert" callbacks for performance
|
|
- Jenkins
|
|
- Run tests
|
|
- Show gcov graph
|
|
- Run cppcheck
|
|
- Read tags with gstreamer?
|
|
- Move search functions from filter to index code
|
|
- Move tag index into tagdb
|
|
- Rename filter.cpp -> text.cpp (or something to reflect
|
|
that it is used for text processing)
|
|
- Make DatabaseEntry::primary_key() private (only used by Database)
|
|
- "On demand" databases that load the first time they are accessed?
|
|
- Queues have their own indexes?
|
|
- Remove callbacks (may need "driver" for queues)
|
|
- Remove glib specifc code from core/
|
|
- Virtual file system
|
|
- Fake filesystem access for testing
|
|
- Ports:
|
|
- OSX
|
|
- Windows
|
|
- Android
|
|
- Command line tools for web interface development?
|
|
- Broken track detection
|