Skip to content
X-Ryl669 edited this page Sep 30, 2016 · 3 revisions

Folders

One of the major feature of kutr is its ability to support folder specific features described below.

When parsing your media library, each song presenting some valid tags will be studied carefully and many of its metadata will be stored in database. The metadata stored include the song path (mandatory) and its relation with artist & albums (and in the future, genre).

Folder browsing in the interface uses the paths stored in database to rebuild the folder hierarchy. It does not browse the files and directories on the filesystem (that would require to many time if done once, and too many requests if done each time you change the current active folder in the interface).

The folder hierarchy is only built once per client upon first access and cached in clients so no access is done to the server after initial fetching. Unlike songs information, folder hierarchy is not computed if not accessed, so it does not slow down in any way the interface.

When you click on the folder section on the sidebar, this interface shows up: Folder interface

Each folder have 2 buttons: THIS and ALL. THIS select all songs in the current folder and enqueue them for playing. ALL selects all songs in the current folder and all its subfolders and enqueue them for playing. If you hold Ctrl (or Meta) key when clicking, the songs are enqueued, but the play does not start immediately, else they replace the current playing queue.

Some remarks about folders displayed

  • If a folder on your file hierarchy does not contains any songs, it'll not appear in the interface (since no songs refer to it).
  • Only one folder is expanded at a time. This prevent cluttering the interface will many object and slowing the page down.
  • Similarly, no virtual scrolling is being used in this page (not required)
  • The current view mode (mosaic or list) does not do anything. It might be removed in the future unless someone wants to implement another browsing mode.
Clone this wiki locally