Commit Graph

3483 Commits

Author SHA1 Message Date
Bryan Schumaker
1f1cbe1b34 FSTrees shouldn't have a value
If a Tree() doesn't have a value, then the FSTree() shouldn't either...
2010-12-03 08:29:14 -05:00
Bryan Schumaker
3598de0b72 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-12-03 08:29:14 -05:00
Bryan Schumaker
a66a4a769b 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-12-03 08:29:14 -05:00
Bryan Schumaker
8328a83dcd Don't reload when refreshed
Lists should not be reloaded when they are refreshed.  Instead, use
everything already in memory.
2010-12-03 08:29:14 -05:00
Bryan Schumaker
78b445793a libsaria.path() with an FSTree()
I now have a function to walk all files in a filesystem and make an
FSTree().
2010-12-03 08:29:14 -05:00
Bryan Schumaker
d5231e9db1 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-12-03 08:29:14 -05:00
Bryan Schumaker
e6b968ed13 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-12-03 08:29:14 -05:00
Bryan Schumaker
aa79efe6f1 Remove whitespace 2010-12-03 08:29:14 -05:00
Bryan Schumaker
fd812885e8 Remove get_attr
This removes get_attr() as a library function (use get_attrs() instead)
2010-12-03 08:29:14 -05:00
Bryan Schumaker
02704b4d7e Use get_attrs
This changes various parts of ocarina / libsaria to use get_attrs()
instead of get_attr().
2010-12-03 08:29:14 -05:00
Bryan Schumaker
31bf833a50 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-12-03 08:29:14 -05:00
Bryan Schumaker
2dc7f58206 Rename libsaria.music
I decided that libsaria.music should be known as libsaria.audio.  It
makes more sense to me.
2010-12-03 08:29:14 -05:00
Bryan Schumaker
7b99572f39 Added __bug__ to track bug fix versions. 2010-12-03 08:29:14 -05:00
Bryan Schumaker
52423d8b34 Collection Treeview / List cleanup
This removes the on_mouse_motion notifications that I was using for
setting the tooltip.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
acdd0d9500 Treeview tooltips
The treeview tooltips will show detailed information about the selected
track (including album art!)
2010-12-03 08:29:13 -05:00
Bryan Schumaker
71a9a0a23f Added 'art' to library attrs
This attribute will return the path to the cached album art for the
song.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
45c6097299 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-12-03 08:29:13 -05:00
Bryan Schumaker
bd6522f76b Album art tooltip change
Use set_icon() instead of set_custom() to set the album art tooltip.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
cac2ebbe23 Album Art tooltip
The album art tooltip is a large verison of the image set as the album
art.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
15c4a273bf Playlist filtering
The new playlist module can be filtered again.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
1de5243753 New playlist module
The playlist should be a standalone module rather than inheriting from
the same base class as the library.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
8ca67cd4c7 Libsaria trees
libsaria.path.make_tree(path) will return a tree rooted at path
2010-12-03 08:29:13 -05:00
Bryan Schumaker
f561e6b3e2 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-12-03 08:29:13 -05:00
Bryan Schumaker
643da7c12a New library filtering
The new library module can filter songs
2010-12-03 08:29:13 -05:00
Bryan Schumaker
ca331f6b64 Library play_id()
I have moved over the play_id function to the library module.
2010-12-03 08:29:13 -05:00
Bryan Schumaker
8356c58493 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-12-03 08:29:13 -05:00
Bryan Schumaker
6dca550697 fix check_version() in some plugins
The conditions for returning True and returning False were off
2010-12-03 08:28:05 -05:00
Bryan Schumaker
66cc3ea639 Plugins bump version
Plugins should now allow Ocarina 4.2
2010-12-03 08:28:05 -05:00
Bryan Schumaker
85040621ed Bump the minor version number
This reflects that I am working on Ocarina 4.2 / Libsaria 1.2 now.
2010-12-03 08:28:05 -05:00
Bryan Schumaker
02bca17790 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-12-03 08:26:06 -05:00
Bryan Schumaker
92014b15fb 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-12-03 08:26:06 -05:00
Bryan Schumaker
795f9f0241 tagging script
This script will be used to tag each final release.
2010-12-03 08:26:06 -05:00
Bryan Schumaker
06153b6c13 new_release argument checking
new_release should check the number of arguments before attempting to do
anything.
2010-12-03 08:26:06 -05:00
Bryan Schumaker
78172aeaf4 Filechooser callback in background
We should call the filechooser callback in the background so that gdk
threads have a chance to unlock and prevent deadlock.
2010-12-03 08:21:11 -05:00
Bryan Schumaker
80ac3a6103 Check for empty playlist on startup
Before setting libsaria.sources.cur_lib_id, we should check that the
playlist has something to set it to.
2010-12-03 08:19:32 -05:00
Bryan Schumaker
bd342e1d38 Removed GTK based remote
I am choosing to focus on the web remote for now.  I eventually do want
a "remote library" feature, but not as a different application.
2010-12-02 08:23:09 -05:00
Bryan Schumaker
3365f19d69 Playlist track cur_index
We should track the current song index between sessions.  This means we
need to set it when selecting a random song.  This also means we need to
save the playlist on each song selection.
2010-12-01 22:33:07 -05:00
Bryan Schumaker
d033c25655 Select and goto song improvements
When we select a song through the gui, we should call either the
playlist or library play_id() function for appropriate bookkeeping.

Additionally, on startup we seek to sources.cur_lib_id
2010-12-01 22:31:40 -05:00
Bryan Schumaker
2e5a62cbb7 Only back up changed files
We only need to back up files with a score != 0 and count != 0
2010-12-01 22:06:00 -05:00
Bryan Schumaker
3c920c72be Library importing
I can now import both v1.1 and v1.2 libraries.  I split this into
appropriate functions for each version.
2010-12-01 22:02:16 -05:00
Bryan Schumaker
8a0baf6693 Check library sources before adding
New sources should:
  1) Be a string
  2) Not already be a tracked source
2010-12-01 22:00:58 -05:00
Bryan Schumaker
86494f7f7f Print library scanning errors
If there is an error scanning a file, we should print what the error is
to ease debugging.
2010-12-01 21:59:57 -05:00
Bryan Schumaker
b9117993e1 Backup sources and improvements
I already have a "dumb import" (retag all files based on the filepath)
so there is no point in storing extra attributes when I am only going to
find them again during importing.  Instead, we should only store the
information we need: filepath, score, and playcount.

Additionally, I now store the list of sources in the library backup.
2010-11-30 23:08:30 -05:00
Bryan Schumaker
a99ae4dfb4 xml write node with attributes
The xml functions can now create a node with attributes ( <node
attr="something"/> )
2010-11-30 23:07:46 -05:00
Bryan Schumaker
e279dfc170 Library list sources
calling library.get_sources() will iterate over the list of sources
contained in the library.  This is mostly used for storing in the backup
xml.
2010-11-30 23:06:33 -05:00
Bryan Schumaker
c5a38e0b7f Clean up web radio
I removed most of the comments from the web radio plugin.
2010-11-30 22:33:47 -05:00
Bryan Schumaker
675e4c62e8 Reorder header
Elements in the header have been reordered so they make more sense
2010-11-30 22:33:31 -05:00
Bryan Schumaker
6a4b9f3fd9 Web radio improvements
The web radio now exists as a single tab.  I eventually need some way of
moving to and from radio stations.
2010-11-30 21:23:50 -05:00
Bryan Schumaker
f1f2b49966 Switch pages before removing current page
If we are asked to remove the current page, we should first switch to a
different page.
2010-11-30 21:21:54 -05:00
Bryan Schumaker
537e258ffe Set default page
During startup, we should check if the initial page exists.  If it
doesn't we will switch to the default page instead.
2010-11-30 21:19:29 -05:00