Commit Graph

3692 Commits

Author SHA1 Message Date
Bryan Schumaker e7d9ff897d Library FSTrees and unique ids
I now make a filesystem tree to store the library.  In addition, I am
using inode number to track songs.  This should make it easier to detect
moved files (inode number matches but path doesn't).
2010-11-10 21:33:15 -05:00
Bryan Schumaker 1d95aeeaf2 DLFSTrees
Doubly linked filesystem trees are both a doubly linked tree and a
filesystem tree.  They can walk paths backwards.
2010-11-10 08:24:02 -05:00
Bryan Schumaker a45d18552b Find child id once
Rather than computing the child id for every iteration of walking
backwards, we do it once.
2010-11-10 08:22:33 -05:00
Bryan Schumaker 52da8984c3 Add track fields
Tracks need a playcount and a score in addition to all other fields.
2010-11-10 08:21:03 -05:00
Bryan Schumaker afd145efd7 Add tracks to libray
I now attempt to add every file in the filesystem to the library as a
Track().  Errors are logged and bad extentions are saved (so we know not
to scan them in the future).
2010-11-09 23:26:13 -05:00
Bryan Schumaker 0e2898a0f6 Add Track class
This class will be used to store metadata about each song (year, length,
genre ...)
2010-11-09 23:24:49 -05:00
Bryan Schumaker 6ad263d712 Add DLTree()
This patch adds a double-linked tree class for use in storing the
library.  This class can walk backwards from a leaf node when
walk_backwards is called.
2010-11-09 23:22:52 -05:00
Bryan Schumaker 946e6b19da Remove value from tree displaying
Displaying a tree should not use the old tree.value variable.  This
variable doesn't exist anymore.
2010-11-09 23:21:57 -05:00
Bryan Schumaker efa680af19 Library scanning work
I have continued work on library scanning.
2010-11-09 20:08:44 -05:00
Bryan Schumaker dbc2d767d3 FSTree() correct insert
Correctly insert a split path into a FSTree()
2010-11-09 20:08:17 -05:00
Bryan Schumaker 019cded563 Tree() length
I made Tree().__len__() to use for finding the number of leafs that
exist on a tree.
2010-11-09 20:07:35 -05:00
Bryan Schumaker 99ea5fd3ed libsaria.path FSTree()
path should use an FSTree() instead of a Tree()
2010-11-09 20:06:46 -05:00
Bryan Schumaker 27d3baef27 FSTrees shouldn't have a value
If a Tree() doesn't have a value, then the FSTree() shouldn't either...
2010-11-09 19:44:58 -05:00
Bryan Schumaker d15a4e2967 Trees don't have values
Trees don't actually need a value.  I can make a subclass later if I
find it's important.
2010-11-09 19:41:47 -05:00
Bryan Schumaker 9c73996ade Modified makefile
The makefile reflects my new way of installing from git (using the git
daemon instead of http).
2010-11-09 19:21:54 -05:00
Bryan Schumaker 7012c9a9af Modified makefile
The makefile reflects my new way of installing from git (using the git
daemon instead of http).
2010-11-09 19:20:06 -05:00
Bryan Schumaker 4c398537b8 Ocarina 4.1.4 2010-11-09 14:09:22 -05:00
Bryan Schumaker 5833b1908c universal_open() needs escape character replacement
%20 and $22 should be replaced with " " and "\"" before using the path
to create a library.
2010-11-09 14:08:16 -05:00
Bryan Schumaker b1ae9fd878 Began new library scanning code
The new scanning code will use FSTrees() to find paths.  I hope it will
be easy to make a scanning progress bar with the new system.
2010-11-09 13:58:28 -05:00
Bryan Schumaker bafa6e7e8a Don't reload when refreshed
Lists should not be reloaded when they are refreshed.  Instead, use
everything already in memory.
2010-11-09 13:57:24 -05:00
Bryan Schumaker ef9c53f930 universal_open() needs escape character replacement
%20 and $22 should be replaced with " " and "\"" before using the path
to create a library.
2010-11-09 13:55:14 -05:00
Bryan Schumaker 13d4ba7710 libsaria.path() with an FSTree()
I now have a function to walk all files in a filesystem and make an
FSTree().
2010-11-09 13:53:57 -05:00
Bryan Schumaker 7ad74e6dca FSTree()
FSTree() is a tree representing paths in a filesystem.  It has functions
for inserting paths and returning the paths it is storing.  A path is a
UNIX path: "/home/bjschuma" is the path to my home directory.
2010-11-09 13:52:02 -05:00
Bryan Schumaker 5cf8e8e639 Load in background
The library and playlist can be loaded in the background to save time!
Also, I changed the library list to use the new populate function.!
2010-11-08 22:47:31 -05:00
Bryan Schumaker 511fb83b0e Remove whitespace 2010-11-08 22:41:43 -05:00
Bryan Schumaker c364fdf5d1 Remove get_attr
This removes get_attr() as a library function (use get_attrs() instead)
2010-11-08 22:19:23 -05:00
Bryan Schumaker c5dccdfcdf Use get_attrs
This changes various parts of ocarina / libsaria to use get_attrs()
instead of get_attr().
2010-11-08 22:18:12 -05:00
Bryan Schumaker 7f5d0cd458 Library get_attrs()
get_attrs() will return a list of requested attributes for a given song
id.  For now, I have changed get_attr() into a wrapper around get_attrs
that returns the first entry in the result list.
2010-11-08 22:15:49 -05:00
Bryan Schumaker a9b5324889 Rename libsaria.music
I decided that libsaria.music should be known as libsaria.audio.  It
makes more sense to me.
2010-11-08 20:58:33 -05:00
Bryan Schumaker 3e9b96bf46 Added __bug__ to track bug fix versions. 2010-11-08 20:34:40 -05:00
Bryan Schumaker e83cf62bb7 Added __bug__ to track bug fix versions. 2010-11-08 20:31:14 -05:00
Bryan Schumaker b4af52cdce Collection Treeview / List cleanup
This removes the on_mouse_motion notifications that I was using for
setting the tooltip.
2010-11-07 17:01:01 -05:00
Bryan Schumaker 3eda4225a9 Treeview tooltips
The treeview tooltips will show detailed information about the selected
track (including album art!)
2010-11-07 16:58:01 -05:00
Bryan Schumaker b7559e7864 Added 'art' to library attrs
This attribute will return the path to the cached album art for the
song.
2010-11-07 16:56:02 -05:00
Bryan Schumaker 37fd8c953c get_artwork_id()
If I already have the song id, there is no reason I should have to look
up the filepath to set the artwork.
2010-11-07 16:18:32 -05:00
Bryan Schumaker 1f8b72185f Album art tooltip change
Use set_icon() instead of set_custom() to set the album art tooltip.
2010-11-07 16:15:05 -05:00
Bryan Schumaker 1f85218eba Album Art tooltip
The album art tooltip is a large verison of the image set as the album
art.
2010-11-07 15:47:10 -05:00
Bryan Schumaker a40fc0d4ec Playlist filtering
The new playlist module can be filtered again.
2010-11-07 09:40:39 -05:00
Bryan Schumaker 73de67f386 New playlist module
The playlist should be a standalone module rather than inheriting from
the same base class as the library.
2010-11-07 09:15:15 -05:00
Bryan Schumaker 9e89283b19 Libsaria trees
libsaria.path.make_tree(path) will return a tree rooted at path
2010-11-06 21:38:17 -04:00
Bryan Schumaker 0157d2bcf3 Remove library functions from collections.lens
I have removed some functions from the old library class since they have
been re-implemented in the library module.
2010-11-06 13:53:43 -04:00
Bryan Schumaker 85e85129f8 New library filtering
The new library module can filter songs
2010-11-06 13:49:52 -04:00
Bryan Schumaker bda392bc88 Correctly set __dev__ for libsaria and ocarina. 2010-11-06 13:36:03 -04:00
Bryan Schumaker fdcbec5389 Merge branch 'master' into Ocarina-4.2 2010-11-06 00:57:40 -04:00
Bryan Schumaker 3cece3826f Library play_id()
I have moved over the play_id function to the library module.
2010-11-06 00:52:33 -04:00
Bryan Schumaker 58ad3c7a9d Library class -> library module
I think that the library will be cleaner if I turn it into a module
instead of keeping it a class.
2010-11-05 21:52:10 -04:00
Bryan Schumaker f1292471f0 fix check_version() in some plugins
The conditions for returning True and returning False were off
2010-11-05 19:18:21 -04:00
Bryan Schumaker 08ce4b6af4 Plugins bump version
Plugins should now allow Ocarina 4.2
2010-11-05 19:14:43 -04:00
Bryan Schumaker 2443eb40dd Bump the minor version number
This reflects that I am working on Ocarina 4.2 / Libsaria 1.2 now.
2010-11-05 19:09:26 -04:00
Bryan Schumaker bf014d92c6 pause_after.py use common menu
The plugin for pausing playback after the current song should use the
new common menu, instead of individual menus.
2010-11-05 19:07:24 -04:00