Move the "todo" section into the toplevel
I am going to delete the design/ directory and just keep a single file instead. I don't want to lose my ideas! Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
871914ea90
commit
be13c7dd87
|
@ -0,0 +1,118 @@
|
|||
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
|
||||
|
||||
- New default groups:
|
||||
Unplayed tracks
|
||||
|
||||
- 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
|
||||
|
||||
- Playlist custom sorting:
|
||||
Click column headers to choos sort order
|
||||
Keep a list of fields that the user has selected and place new
|
||||
fields in the front of this list. Use a recursive stable sort
|
||||
to do the sorting.
|
||||
|
||||
- Better design file format:
|
||||
Todo list in each document instead of all at once in the footer.
|
||||
Leave the Todo list out of the official "design document" and
|
||||
keep it in each individual section instead.
|
||||
XML?
|
||||
Code formatting?
|
||||
Checkbox for when features are done? (reference commit)
|
||||
|
||||
- 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:
|
||||
- Run tests through valgrind to help find memory leaks
|
||||
- Some way to enable / disable tests during development
|
||||
- Run tests based on dependencies
|
||||
- Fix tests that will only work on my computer
|
||||
- Double check that all inputs and outputs are tested
|
||||
- Simple testing library?
|
||||
- Stop tests on failure
|
||||
- Test callbacks
|
||||
|
||||
- Preferences:
|
||||
- Set default sort
|
||||
- Save window size
|
||||
- Set album art size
|
||||
|
||||
- Rip out Ocarina 5.x importing and legacy file support
|
||||
|
||||
- AirPlay / remote audio support
|
||||
|
||||
- Media keys
|
||||
|
||||
- Replaygain support
|
||||
External script to calculate values?
|
||||
Calculate value after first playback?
|
||||
Store in library :: Track structure
|
||||
|
||||
- Autosave databases
|
||||
Artist, album, genere and library path don't change often so
|
||||
saving on every add / remove won't be a huge performance hit
|
||||
and may actually be more efficient in the long run.
|
||||
|
||||
- Scons improvements:
|
||||
Why does everything compile with the same CONFIG_* parameters?
|
||||
Cleanups to tests/Sconscript
|
||||
Global dependency resolution (rather than having multiple ways
|
||||
in lib/ design/ and tests/)
|
||||
|
||||
- Playqueue and database inherit from common class
|
||||
- "About" dialog
|
||||
- Investigate "Bulk insert" callbacks for performance
|
||||
- Initialize PQs with multiple flags
|
||||
- Prefill Song structures in each library :: Track
|
Loading…
Reference in New Issue