Bryan Schumaker
4a34ce51f1
Added uptime() to ocarina package
...
Calling this function will return an object representing the total
uptime of Ocarina.
2010-12-27 12:22:47 -05:00
Bryan Schumaker
bdd9c331e8
Track startup time in ocarina/__init__.py
...
The ocarina package can track the startup time better than the launcher
script. Tracking it in the package will also make startup time
available to other callers.
2010-12-27 12:19:22 -05:00
Bryan Schumaker
0c636bfd56
Clean up universal_open()
...
The cleaned up version chooses what function to call based on file
extention. I use map.get() to pick a function, and use the open_music()
function as the default.
2010-12-27 12:06:22 -05:00
Bryan Schumaker
961eacf3c4
Began new library browser
...
The new library browser will eventually morph into a web-based clone of
the desktop Ocarina application.
2010-12-26 22:51:18 -05:00
Bryan Schumaker
805db95d05
add html/images directory
...
I thought this was already added? I guess it wasn't. Oops...
2010-12-26 12:29:29 -05:00
Bryan Schumaker
bcdbd3dfc9
Rename web buttons
...
The stock_media-* style was too hard to work with. The buttons have
been renamed in the following way:
stock_media-next.png -> next.png
stock_media-pause.png -> pause.png
stock_media-play.png -> play.png
stock_media-next.png -> next.png
2010-12-26 12:27:52 -05:00
Bryan Schumaker
759342dc70
Attrs and icons
...
- Return improved attributes for artist / album / version
- Remove icons that were recently moved
2010-12-24 12:42:13 -05:00
Bryan Schumaker
3498c46130
Increase web get_attrs timeout
...
Every second was too much! Do it every 3 seconds instead.
2010-12-24 12:41:26 -05:00
Bryan Schumaker
5a4aab5869
Change web server devel port
...
The development port is now 4243
2010-12-24 12:33:13 -05:00
Bryan Schumaker
b81ba094fd
Added attributes to web page
...
The attributes update every second to check for the current song.
2010-12-24 12:31:55 -05:00
Bryan Schumaker
0b8bc2d7fc
Fix choosing random song when playlist is filtered
...
I was setting cur_index based on the index into the visible set, rather
than the index into the entire song list.
2010-12-23 09:53:30 -05:00
Bryan Schumaker
1c4621a79a
Set random directly
...
This makes much more sense than toggling it. Toggling caused an
inconsistent state during testing.
2010-12-23 09:51:09 -05:00
Bryan Schumaker
3802d41b83
Reorder tabs
...
This changes the order to Playlist, Queue, Library rather than Playlist,
Library, Queue
2010-12-23 09:48:39 -05:00
Bryan Schumaker
270d33d5ec
Reset playlist before loading xspf file
...
Loading an xspf file should replace the current playlist, rather than
add to it.
2010-12-18 16:45:48 -05:00
Bryan Schumaker
aa0f832356
Refresh the playlist after loading
...
After we load an xspf file, we should refresh the playlist to reflect
changes.
2010-12-18 16:44:18 -05:00
Bryan Schumaker
da99d4b349
Load xspf playlists
...
This patch adds loading of xspf playlists
2010-12-18 16:39:17 -05:00
Bryan Schumaker
77f065b703
Export playlist to xspf
...
This patch adds support for saving a playlist as an xspf xml file. I
only use the <location> tag to keep it simple.
2010-12-18 16:22:06 -05:00
Bryan Schumaker
da1a5413a4
Library source subdirectory filtering
...
When we add a path to the sources list, we should remove all paths that
are a subdirectory of the new path.
2010-12-18 15:35:51 -05:00
Bryan Schumaker
8d423629be
Add fewer library sources
...
If we are being asked to add a path that is a subdirectory of a current
library source then we shouldn't add it.
2010-12-18 15:28:53 -05:00
Bryan Schumaker
66a3344121
Controls pref initialization
...
The preferences variable should be initialized earlier to avoid an error
during startup.
2010-12-18 15:06:18 -05:00
Bryan Schumaker
3c2f40c69e
Move backup.py -> export.py, import v1.3 library
...
The move was supposed to be in the previous patch ... oops.
This one also adds in importing a v1.3 library xml file.
2010-12-18 15:03:24 -05:00
Bryan Schumaker
f869b17e2f
Rename backup functions
...
Backup has been renamed to export
Restore has been renamed to import_xml
2010-12-18 14:52:31 -05:00
Bryan Schumaker
c08655c1fa
More reformatting and comments
2010-12-18 14:49:35 -05:00
Bryan Schumaker
c49a39ad46
Encode v1.3 library
...
This patch changes the encode functions to export a v1.3 library
2010-12-18 14:46:31 -05:00
Bryan Schumaker
cafc19fbed
Don't set score when importing library
...
The score system has been replaced with a like / dislike system. Score
is no longer an attribute that can be set.
2010-12-18 14:36:21 -05:00
Bryan Schumaker
8349efe8c7
Library export formatting changes
...
This patch rearranges the decode functions to put decoders for a single
version together. I also removed some extra whitespace and clearly
labeled the decoding sections.
2010-12-18 14:33:17 -05:00
Bryan Schumaker
29152aca1d
ToggleButton generic toggled signal
...
The ToggleButton should automatically respond to the toggled signal
2010-12-18 11:19:55 -05:00
Bryan Schumaker
d8c5814f5a
ToggleButton tooltip
2010-12-18 11:17:58 -05:00
Bryan Schumaker
e1a709b6c3
Create ToggleButton class
...
The ToggleButton class is a base class for buttons to inherit from. So
far, this is only the RandomButton, LikeButton, and DislikeButton
2010-12-18 11:15:12 -05:00
Bryan Schumaker
44ee38dd91
Remove pointless whitespace
2010-12-18 11:10:45 -05:00
Bryan Schumaker
a0d231e964
Move RandomButton()
...
This puts it closer to the like / dislike buttons, since they are all
toggle buttons
2010-12-18 11:09:41 -05:00
Bryan Schumaker
05297d850c
Remove unused code from like / dislike buttons
2010-12-18 11:08:37 -05:00
Bryan Schumaker
a1293fb351
Draw like / dislike buttons
...
This patch adds the like and dislike buttons to the gui.
2010-12-18 11:05:53 -05:00
Bryan Schumaker
47dbd200ab
Add like / dislike buttons
...
This patch adds buttons for liking and disliking a song. I also use
this patch to add like / dislike icons.
2010-12-18 11:05:17 -05:00
Bryan Schumaker
0eb3a15783
Add functions for controlling "like"
...
This patch adds a function for getting the "like" status of the current
song. It also changes the "set_like" function to use an event, rather
than just setting it.
2010-12-18 11:03:25 -05:00
Bryan Schumaker
f55cb44a64
Fix set_attr()
...
First, set_attr() needs to find the id of the current song. Second, we
should save after changing attributes.
2010-12-18 11:02:32 -05:00
Bryan Schumaker
076e89783a
Add save() to the Source class
...
This will allow us to save any changes made to the Source()
2010-12-18 11:01:44 -05:00
Bryan Schumaker
401241ac47
Track recent songs for sequential next too
...
Why was I only adding recent songs to the list when picking a random
song? It really doesn't make any sense. This patch tracks recent songs
any time next() is called in the playlist.
2010-12-18 09:36:01 -05:00
Bryan Schumaker
2d0643dd7b
Just skip songs the user doesn't like
...
If the user doesn't like a song, we shouldn't have a 25% chance of
playing the song anyway. We should just pick a different song.
2010-12-18 09:27:01 -05:00
Bryan Schumaker
0bcb444317
Remove score field
...
This patch removes the score field from the Track() class
2010-12-17 23:37:06 -05:00
Bryan Schumaker
7c2778614d
Added control to set like value
...
First, this patch adds a function for setting attributes for the current
file. Second, it adds a function for specifically setting the "like"
attribute.
2010-12-17 23:33:05 -05:00
Bryan Schumaker
d91c099723
Added set_attr to the Source() class
...
Having access to the set_attr function should allow us to change
attributes for the current track easily.
2010-12-17 23:28:55 -05:00
Bryan Schumaker
0c254aa957
Remove score changing code
...
I am switching to a like / dislike system, so I don't need to worry
about scores anymore.
2010-12-17 23:18:19 -05:00
Bryan Schumaker
6449b6badb
Skip songs based on like, rather than score
...
I think I can get a better guess for what users like based on what they
tell me, rather than trying to analyze their playback habits.
2010-12-17 23:15:19 -05:00
Bryan Schumaker
da6b0fd3eb
Add "like" field to the Track() class
...
This will allow the users to tell us if they do or don't like a song.
Songs default to None for unrated songs.
2010-12-17 23:06:46 -05:00
Bryan Schumaker
32e417e4b5
Remove the pause_after.py plugin
...
Pause after current song is now a built-in feature, so I don't need a
plugin too.
2010-12-17 23:02:35 -05:00
Bryan Schumaker
14a960372b
Add pause after current song menu item
2010-12-17 23:02:16 -05:00
Bryan Schumaker
4e5995ec64
Added pause_after control to libsaria
...
This gives me a chance to remove it as a plugin. I noticed that
sometimes I would hear a fraction of a second of music before the
pausing started. This should fix that.
2010-12-17 23:00:45 -05:00
Bryan Schumaker
b5fef6ba3c
Check if cur_source is None
...
We should do this before attempting to return an ID...
2010-12-17 08:31:22 -05:00
Bryan Schumaker
d380d0ec45
Use built-in selected_foreach
...
I also made a wrapper so I can do things with each selected ID.
2010-12-17 08:18:33 -05:00