Commit Graph

305 Commits

Author SHA1 Message Date
Bryan Schumaker
7879c53fe7 libsaria: Created pause callback
This replaces the (PRE, POST)PAUSE events
2011-05-01 12:46:16 -04:00
Bryan Schumaker
b562fff0ed libsaria: Began implementing better callback system
The event system was evil, hard to use, and hard to follow.  This patch
is the beginning of a new, more straightforward system.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
6855fb6b2d libsaria: Remove unused module list
I had a list of modules defined as __all__, but I don't think anything
used it.  It was time for it to go.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
fca5fd1bae libsaria: Remove old audio code
I had commented it out while introducing the new stuff.  I should be
able to safely remove it now.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
8574cda529 libsaria: Ported over Ocarina 5.0 audio functions
The new audio code I developed makes more sense and should be easier to
work with.  It makes sense to port it over.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
9f0d8efbb7 libsaria: playlist uses correct prefs.get() function
I forgot to change it over from get_pref()
2011-05-01 12:46:16 -04:00
Bryan Schumaker
3dc0b208cf libsaria: Integrate new preferences and storage code
This patch re-enables most of the libsaria startup procedures.  To allow
this, I had to switch over to the new preferences and object storage
code I recently came up with.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
063869c7ca libsaria: Remove old file management code
I have new code for loading / saving objects, so I can remove the old
stuff.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
5199a26006 libsaria: Remove old preferences code
I don't need it anymore with the new code.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
457bea2ff3 libsaria: New preferences functions
The new preferences code is much easier to work with.  Rather than
inheriting from a complicated tree class, I just set values in a python
dictionary directly.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
af5947b088 libsaria: Save and load python objects
I do this using cPickle.  load_obj() takes a default constructor
function in case the object cannot be created.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
1921e78e55 libsaria: Comment out most code, begin new preferences
I commented out most of the code in libsaria/__init__.py to make it
easier to clean up.  I also began work on libsaria/prefs.py for managing
preferences.

NOTE: For the next several commits, the best way to test changes is by
importing libsaria through the python interpreter.  Trying to run
ocarina will probably fail.
2011-05-01 12:46:16 -04:00
Bryan Schumaker
d2d894a2e4 libsaria: Bump minor version, mark dev as True
This means I am beginning v4.5
2011-05-01 12:46:16 -04:00
Bryan Schumaker
fb24a0cb32 libsaria: Mark __dev__ as False 2011-05-01 12:28:38 -04:00
Bryan Schumaker
7e83108c6a ocarina: Show attrs for song loaded on startup
I was annoyed that this wasn't happening.
2011-05-01 12:28:28 -04:00
Bryan Schumaker
3bc5c05ab1 libsaria: disable plugins
With my recent changes, my old plugins are incompatible.  I'm going to
come up with a new system in a few releases, so I'm going to wait until
then.
2011-05-01 12:28:19 -04:00
Bryan Schumaker
dc8a69bc0d ocarina: Refresh library after loading
To show changes.  I also use the v1.3 decoder function to decode
exported libraries.
2011-05-01 12:27:30 -04:00
Bryan Schumaker
3d1b8773d5 ocarina: Added album art
I put it on the now playing page for now.  Eventually I'll put it in
other places, too.
2011-05-01 12:19:49 -04:00
Bryan Schumaker
bce7651be5 ocarina: Set text on footer labels
This sets (title, album), position and duration values
2011-05-01 12:12:02 -04:00
Bryan Schumaker
a8421b8226 libsaria: Fix removing songs from queue
If I'm going to attempt to remove the song id from the queue whenever a
song song is loaded, I need to check if the song is in the queue before
trying to remove it.
2011-05-01 12:11:24 -04:00
Bryan Schumaker
f5eed60d78 ocarina: Play double clicked songs
Otherwise, what's the point of a gui?
2011-05-01 12:10:28 -04:00
Bryan Schumaker
9a1a0471c5 ocarina: Re-added queue
Once again, using Ocarina-5.0 concepts (such as hiding the tab when the
queue is  empty)
2011-05-01 12:09:47 -04:00
Bryan Schumaker
13a74e47c3 Ocarina: Remove from playlist
I can remove multiple songs from the playlist now.
2011-05-01 12:09:32 -04:00
Bryan Schumaker
bcd42cfea4 Ocarina: Add songs to playlist
Using a right click menu from the library
2011-05-01 12:09:09 -04:00
Bryan Schumaker
33b7f1ba0e Ocarina: Re-added playlist tab
The new tab uses my ocarina 5.0 concepts
2011-05-01 12:08:52 -04:00
Bryan Schumaker
f902c11f9a ocarina: Filter the library again
This time, I use concepts I played with for Ocarina 5.0
2011-05-01 12:07:56 -04:00
Bryan Schumaker
9c6db9ba9b ocarina: New listview code
I can fill in the listview from the library.
2011-05-01 12:07:23 -04:00
Bryan Schumaker
212a846d8c libsaria: Cache removes path if it exists
I wasn't checking if the path exists before removing it, and this caused
an error.  Checking before removing is simple enough, though...
2011-05-01 11:59:29 -04:00
Bryan Schumaker
23cd4da304 Track version in libsaria
Tracking two different versions for Ocarina and libsaria was too much
work.  From now on, Ocarina and libsaria will have the same version.
Ocarina's version string will be set based on libsaria.
2011-05-01 11:40:09 -04:00
Bryan Schumaker
cd914936f3 Bump minor version and mark development as True 2011-05-01 11:39:41 -04:00
Bryan Schumaker
5903d085b2 Current version is 4.3.3 2011-05-01 11:05:55 -04:00
Bryan Schumaker
50cded315e bump bug version 2011-05-01 11:05:55 -04:00
Bryan Schumaker
47f33a3f8f libsaria: Don't save on preference initialization
When a preference is initially created, it should be set to a default
value.  If it is set to a default value, then we don't need to save it
immediately.  Let's wait until it changes before actually doing a
save...
2011-05-01 11:05:55 -04:00
Bryan Schumaker
802513c726 libsaria: Don't immediately enable preference saving
We shouldn't need to save preferences during startup because at this
point only the initial values have been set.  If nothing is changed,
then nothing needs to be saved and we can save some time.  This should
also prevent any problems caused by crashing during a save.
2011-05-01 11:05:55 -04:00
Bryan Schumaker
e812fbaee0 Don't filter when there are no terms
If there are no terms to filter on, we should return a set of all items.
This will show all songs when a space has been entered into the filter
bar.
2011-05-01 11:05:54 -04:00
Bryan Schumaker
5f10a01bcb Always clear pause_after
Always clearing this ensures that we don't keep pausing after playback
is resumed.
2011-05-01 11:05:54 -04:00
Bryan Schumaker
6201f707cb Mark __dev__ as False
4.3 is almost done!
2010-12-30 11:26:20 -05:00
Bryan Schumaker
6fc6bb60f6 Set play button status correctly when stopped
The stop function needs to return True if it is successful.
2010-12-27 19:09:07 -05:00
Bryan Schumaker
ef5be29197 web: better controls
I split out the web controls to a new file, and can set the status of
the play button correctly when the page is loaded.  Finally, the
set_play_button() function is called on a timer so changes on the
application will be reflected on the web page eventually.
2010-12-27 19:00:27 -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
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
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