To permit users to change a display’s order (including reverse ordering):
@ROSEHAN
For every unique type of order, developer to create:
- two tables for each special ordering (like alphabetic ordering)
- within the software structure that represents each key media tag (like Album, Album-Artist, Track, etc), create one entry for header link and one entry for last (i.e. reverse-header) link to the corresponding double-linked list
- for tags that have multi-field-entries (such as, Genre, a Song’s Artists, etc.), create a double-linked list, header-link-entry & reverse-header-link-entry for each unique field entry in the tag
Development Example (pertaining to English language):
For alphabetic ordering, create two tables, each with 27 entries
- 1st table entry is for “#” and the subsequent 26 table entries is for the letters A to Z.
- the corresponding 27 double-linked lists, each delineate the forward and backward (reverse) order
Recommendation:
Create the above for at minimum:
- Order Albums/Album-Artists/Rose-Playlists Alphabetically ← also for Mood Playlists & Tempo Playlists (if they exist)
- Order Rose-Playlists by Most Recently Modified ← for add playlist function (only a single-linked list needed)
- Order Albums/Album-Artists by Genre ← including custom genres
- Order Album-Artists by Decade (1910, 1920,… up to current decade) ← table grows for every new decade in the future
- etc.
Alternatively to predefining what can be ordered: in settings, prompt the user for what the user desires to be ordered. For example, create in setting:
- Specify what you desire to order:
- Alphabetically:
Albums
Album-Artists
Rose Playlists
Music Videos …
- By Genre:
Albums
Album-Artists
Music Videos …
- By Decade:
Albums
Album-Artists
Music Videos …
- By Tag:
Albums
Album-Artists
Music Videos …
- By Most Recently Modified:
Rose Playlists
- etc…
- The appropriate order structures to be created on user selection (as oppose to creating the order structures during scan/rescan). Note: Permit the user to reset the desired ordering to “default ordering”.