Commit Graph

3690 Commits

Author SHA1 Message Date
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
Bryan Schumaker 03f33af437 Common menu items
Common menu items are drawn for all right click menus, so the same
function won't need to be added multiple times to different menus.
2010-11-05 19:06:05 -04:00
Bryan Schumaker eb5a788a95 Merge branch 'master' into Ocarina-4.2 2010-11-05 18:46:20 -04:00