Bryan Schumaker
c6f48165f3
Moved backup.py to path/
...
This moves the backup functions to a more reasonable place.
2010-11-20 09:51:11 -05:00
Bryan Schumaker
a88f8225a7
Web remote controls
...
I can play, pause, stop, and advance to the next song through the web
interface.
2010-11-19 22:47:41 -05:00
Bryan Schumaker
9f20a17228
url formatting: don't escape the quote
...
We don't need to do this. It causes problems with last.fm
2010-11-17 23:32:23 -05:00
Bryan Schumaker
2ab7ace608
library tag accessor functions
...
I have created functions to make it easy to get at titles and song ids
from known tags.
2010-11-17 23:31:02 -05:00
Bryan Schumaker
3eff3c6aee
lastfm return None on error
...
lastfm album art fetching should return None if there is a problem
opening the image url.
2010-11-17 23:29:51 -05:00
Bryan Schumaker
849f071d58
Get artist and album lists from the library
...
This patch makes it easy to get an artist or album list out of the
library.
2010-11-16 23:03:01 -05:00
Bryan Schumaker
629f940796
Import trees from libsaria.trees
2010-11-16 23:02:35 -05:00
Bryan Schumaker
f8e8837d3c
Get artwork by (artist, album)
...
This makes it easier to find artwork using (artist, album) as a key.
This will probably be the best way to use artwork in the web interface.
2010-11-16 23:01:19 -05:00
Bryan Schumaker
778945fea5
Added basename() to path
...
This will be useful for finding the file referred to by a path.
2010-11-16 21:14:45 -05:00
Bryan Schumaker
4f1b1d0162
Moved libsaria.path to a package
...
This is the beginning of moving file related code into a single package
and out of the main libsaria directory.
2010-11-16 08:19:23 -05:00
Bryan Schumaker
f13e10e862
Make sure playlist is initialized properly
...
This stops an error when ocarina is run with an empty library. Because
the library is empty, the playlist was never being initialized.
2010-11-15 21:30:58 -05:00
Bryan Schumaker
971238ddf2
Removed Table() class
...
I don't know why this wasn't removed earlier. It hasn't been used since
Ocarina 4.0
2010-11-15 21:12:37 -05:00
Bryan Schumaker
40597b9cb3
Removed Map()
...
I don't need the Map() class anymore
2010-11-15 21:12:03 -05:00
Bryan Schumaker
5650f2d750
Finish new prefrences moveover
...
I have renamed libsaria.prefs2 to libsaria.prefs
2010-11-15 21:11:12 -05:00
Bryan Schumaker
4335c1a111
Volume through new preferences tree
...
The volume is now controlled through the preferences tree.
2010-11-15 08:29:25 -05:00
Bryan Schumaker
3cd7f4b20f
Random new preferences
...
The random feature uses the new preferences tree, rather than the
preferences map.
2010-11-15 08:24:45 -05:00
Bryan Schumaker
5a02227e99
Ocarina window new preferences tree
...
The main window will set its size based on the new preferences tree,
instead of the old preferences map.
2010-11-15 08:17:31 -05:00
Bryan Schumaker
38026a43c5
Optimize rand_candidate
...
The set of searchable songs shouldn't change while selecting songs. We
can determine which list of songs to look at up front and always use
that as an argument to rand_candidate()
2010-11-14 19:32:47 -05:00
Bryan Schumaker
a53f2740c3
Correctly get the preference tree when initializing
2010-11-14 17:50:37 -05:00
Bryan Schumaker
a95e94936d
Load preference trees
...
Preference trees should be able to load from disk if associated with a
file.
2010-11-14 17:49:23 -05:00
Bryan Schumaker
63211fb1c8
Libsaria initialization
...
I now initialize libsaria during import, rather than as a separate step
afterwards.
2010-11-14 17:32:09 -05:00
Bryan Schumaker
b8d6d918a1
libsaria.collection cleanup
...
I found more places using libsaria.collection instead of
libsaria.sources
2010-11-14 17:31:32 -05:00
Bryan Schumaker
8fb2b45ac8
Add prefs2 variable / remove vars
...
The prefs2 structure is where I will store my new tree-based
preferences. I'll use this for now until everything gets moved over. I
also remove the vars variable since nothing uses it.
2010-11-14 17:29:31 -05:00
Bryan Schumaker
5594825502
Preference trees
...
Preference trees are used to store various preferences. Each component
can have its own set of preferences that use overlapping names.
2010-11-14 17:26:52 -05:00
Bryan Schumaker
6124296f70
libsaria sources change
...
Change files to reflect the rename of libsaria.collection to
libsaria.sources
2010-11-14 13:50:35 -05:00
Bryan Schumaker
fe787dfd6b
Rename libsaria.collection to libsaria.sources
2010-11-14 13:50:10 -05:00
Bryan Schumaker
9167e6441c
Quit plugins on exit
...
Plugins should have a chance to clean up after themselves when we are
shutting down.
2010-11-13 21:38:16 -05:00
Bryan Schumaker
a31f4b609f
current working directory function
...
This has been added to libsaria.path as libsaria.path.cwd()
2010-11-13 21:37:38 -05:00
Bryan Schumaker
68bad792dc
Library backup
...
I can now backup the library to an xml file. This will be useful for
library updates in the future. The plan is to eventually backport this
feature to Ocarina 4.1 (To make the 4.1 -> 4.2 transition easier)
2010-11-12 20:47:14 -05:00
Bryan Schumaker
d35468ba19
Added xml creation functions
...
These functions are designed to help create an xml document.
2010-11-12 20:46:19 -05:00
Bryan Schumaker
2b2cd7e805
Remove old collection code and files
2010-11-12 19:40:42 -05:00
Bryan Schumaker
3cb1959a7f
Random song from playlist
...
I can once again play random songs from the playlist.
2010-11-12 19:24:13 -05:00
Bryan Schumaker
ed2e5b882b
Playlist next()
...
The playlist can play the next song in the playlist.
2010-11-12 08:04:26 -05:00
Bryan Schumaker
2c4d42920e
libsaria.music doesn't exist anymore
...
It has been renamed libsaria.audio, so the end-of-song function should
be changed to reflect this.
2010-11-11 22:51:31 -05:00
Bryan Schumaker
1f7d6538c4
Tree lookup
...
Lookup will follow a path and return whatever node it is pointing to.
2010-11-11 22:49:58 -05:00
Bryan Schumaker
bcacfafa36
find attr filepath correctly
...
The attribute filepath is easier now that I can walk a fs_tree backwards
and get a path back.
2010-11-11 22:47:53 -05:00
Bryan Schumaker
0af81adbcd
Easy file_to_id()
...
file_to_id() can stat the filepath to find the inode number (aka the
song id). This is much easier than doing a bunch of lookups. What I
really want to do eventually is get rid of file_to_id()...
2010-11-11 22:46:17 -05:00
Bryan Schumaker
b8eb1817b7
Library indexing
...
I can now add artist / album / title of each song to an index in the
library.
2010-11-11 08:21:01 -05:00
Bryan Schumaker
6ac2abda27
Library get_attr values
...
We should walk the tag values bacwards, rather than using the normal
walk_backwards function.
2010-11-10 22:52:50 -05:00
Bryan Schumaker
cd78355b74
Tags in DLValTree
...
I store the tags in a doubly-linked value tree from now on.
2010-11-10 22:47:01 -05:00
Bryan Schumaker
88ca239a53
Val trees walk values
...
Val trees can walk through their values in addition to their paths. A
doubly-linked val tree can also walk values backwards.
2010-11-10 22:45:43 -05:00
Bryan Schumaker
e2a0dacd58
Value Trees
...
Value trees store a value in addition to the path. They come in normal
and doubly-linked flavors.
2010-11-10 21:59:24 -05:00
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