Commit Graph

52 Commits

Author SHA1 Message Date
Bryan Schumaker 41e08fe248 Ocarina: Start through a function call
I was starting Ocarina through "import ocarina" in the launcher.  This
was apparently a bad idea, since the import lock will never be released.
This lock prevents other threads from importing modules, so when I tried
to use urllib2 to download album art the call blocked until after I
closed Ocarina.
2011-05-07 15:54:26 -04:00
Bryan Schumaker d0198cdd1a libsaria: Get artwork when songs are loaded
I may change this to something that has to be requested by the front
end, rather than always fetching it.  We'll see.
2011-05-01 12:46:17 -04:00
Bryan Schumaker 69481ffa70 libsaria: Shut down gstreamer on exit
This gives gstreamer a chance to clean up while exiting.
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 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 9684ecce40 ocarina: Refresh playlist when loaded 2011-05-01 12:27:21 -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 d72d16f39d ocarina: Added callback methods
I eventually want to remove the event system from libsaria.  My first
step in doing this is to move usage of the event system in Ocarina to
one place.
2011-05-01 12:11:42 -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 1e7d992848 ocarina: Remove commented out code from ocarina/__init__.py
Not needed anymore.
2011-05-01 12:10:12 -04:00
Bryan Schumaker d20d4c3fcd Ocarina: Playlist and library tabs
I've readded these tabs, but I don't fill them in yet.  That'll wait
until I rewrite sources.
2011-05-01 12:05:46 -04:00
Bryan Schumaker b2db7d3327 Began gui rewrite
Cleaning up the code was proving to be more difficult than I initially
thought.  I have decided to rewrite the gui to make it less intimidating
and more easily modified.
2011-05-01 12:05:31 -04:00
Bryan Schumaker 8255c17ad1 Initialize library, playlist, queue from ocarina/__init__.py
It can't be done in ocarina.py anymore, so it has to be moved there.
2011-05-01 12:04:23 -04:00
Bryan Schumaker 36c3770e4b ocarina: Initialize from ocarina/__init__.py
This will allow me me to replace ocarina.py easily..
2011-05-01 12:03:54 -04:00
Bryan Schumaker 2c1865d257 Measure startup time in ocarina/__init__.py
I was doing some of the calculation in ocarina.py, but it can be done
easier (and more accurately) in ocarina/__init__.py
2011-05-01 12:01:25 -04:00
Bryan Schumaker c62ffd7e1f Initialize body in ocarina/__init__.py
This helps clean up ocarina.py a bit more.
2011-05-01 12:00:40 -04:00
Bryan Schumaker 7caeddf615 More window cleanups
This is looking like a less intimidating file now.  It should be more
usable going forward.
2011-05-01 12:00:23 -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 6201f707cb Mark __dev__ as False
4.3 is almost done!
2010-12-30 11:26:20 -05:00
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 fbfc5738c6 Bump version numbers
We are now developing Ocarina 4.3!
2010-12-05 13:40:15 -05:00
Bryan Schumaker 7638fea8de Bump versions
Bump the minimum version required for plugins.  Also marked __dev__ =
False in Ocarina and Libsaria
2010-12-05 12:54:32 -05:00
Bryan Schumaker 54c2528e48 Remove commented out code 2010-12-03 08:35:13 -05:00
Bryan Schumaker e2f0af1ac1 Remove old tab related code
I have relocated all of these features to ocarina.body, so the old code
in __init__.py is no longer needed.
2010-12-03 08:35:13 -05:00
Bryan Schumaker 856a0935c6 ocarina.body improvements
The current tab is saved between sessions, and the visible / invisible
functions are called for each page.
2010-12-03 08:31:04 -05:00
Bryan Schumaker b3add42ed4 Optimize a little bit 2010-12-03 08:31:03 -05:00
Bryan Schumaker 7efbe9b76c Window standalone module
The window is now a standalone module, and no longer accessed through
ocarina.__init__.py
2010-12-03 08:31:03 -05:00
Bryan Schumaker 7b99572f39 Added __bug__ to track bug fix versions. 2010-12-03 08:29:14 -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 49d7326816 Adjust ocarina bug version 2010-11-19 23:11:24 -05:00
Bryan Schumaker 4c398537b8 Ocarina 4.1.4 2010-11-09 14:09:22 -05:00
Bryan Schumaker 3e9b96bf46 Added __bug__ to track bug fix versions. 2010-11-08 20:34:40 -05:00
Bryan Schumaker bda392bc88 Correctly set __dev__ for libsaria and ocarina. 2010-11-06 13:36:03 -04:00
Bryan Schumaker 049e27c559 Ocarina 4.1 2010-11-05 18:38:44 -04:00
Bryan Schumaker cc8ea2d11f Import and initialize gtk.gdk threads for use in the image class (and
probably other places where there are gtk-related critical sections)
2010-11-02 17:04:56 -04:00
Bryan Schumaker 3de6e94db1 Generic window icon function
I made a function to set the window icon, rather than doing it only when
the window is constructed.
2010-10-30 13:09:15 -04:00
Bryan Schumaker 3680035ba1 Ocarina import pango
Ocarina should import pango so other modules don't have to.  Anything
that wants to use pango can do this instead:
  import ocarina
  pango = ocarina.pango
2010-10-26 22:35:43 -04:00
Bryan Schumaker 4f371987a0 Version strings
Libsaria and Ocarina have a __vers__ variable.  This contains a string
with the official version (eg. "Ocarina 4.1-dev" or "Libsaria 1.1").
"-dev" means that there have been changes since the last official
version.
2010-10-24 17:22:24 -04:00
Bryan Schumaker b7efda1d80 Added version variables
libsaria is now known as libsaria version 1.1.
ocarina  is now known as ocarina  version 4.1.
Both are still under development (__dev__ == True)
2010-10-23 20:17:25 -04:00
Bryan Schumaker 8674fd8f17 Declassify Window()
We should only ever have one instance of the main window, so there is no
reason for it to be a class.  I have turned it into a set of functions
that do the same thing.
2010-08-22 09:20:27 -04:00
Bryan Schumaker 1139ba09c3 Declassify Tabs()
We only have one instance of the main tabs, so there is no reason for it
to be a class.  I have changed this into a set of functions that do
everything the old class did.
2010-08-22 09:07:09 -04:00
Bryan Schumaker 3a764343d0 Generic TabPage for the main tabs
The main tabs now have a generic TabPage class that contains the content
added to the tab.  This TabPage will control visibility of the content
and make it easier to find a page with specific content (no looping
through gtk boxes!)
2010-08-20 22:00:15 -04:00
Bryan Schumaker 15cc5d22f0 Backend and frontend changes
Libsaria events now support starting specific callback functions in a
background thread.  This replaces starting a specific event in the
background.

I have a library tab that is added to the main window through use of the
ocarina.add_tab function.

I have new tests for walking the tree and running multiple threads with
locks.
2010-08-19 23:02:30 -04:00
Bryan Schumaker 66a8c5169e Web Radio Plugin
The web radio plugin can load pandora and grooveshark.  This happens
when a web radio tab is selected.  After the web document is loaded,
playing music will be paused.
2010-08-15 13:39:31 -04:00
Bryan Schumaker 853dde3ea7 Plugins Install
I can now install plugins through drag and drop / universal open.  For
now, installing plugins involves copying the file to ~/.saria/plugins/.
2010-08-15 01:05:37 -04:00
Bryan Schumaker a87653f056 Main Tabs Implemented
I can now add pages to the main tab widget that is attached to the
window.  My next step is to work on libsaria plugins for Pandora and
Last.fm
2010-08-15 00:25:24 -04:00