Commit Graph

3856 Commits

Author SHA1 Message Date
Bryan Schumaker 6a5176d5d7 Initialize controls in two parts
This gives us a chance to initialize random early, and then grab the
audio functions later (when they exist)
2010-11-27 15:38:48 -05:00
Bryan Schumaker d9a6c0987e Progress bar seek to click
When the user clicks on the progess bar, we should seek to the location
of the click.
2010-11-27 12:57:06 -05:00
Bryan Schumaker 1e2d27377f Progress bar tooltip
The tooltip shows the time corresponding to the mouse location on the
widget.
2010-11-27 12:48:09 -05:00
Bryan Schumaker 2685572e52 Unselect rows in list
Before exiting from for_each_selected, we should unselect all selected
rows in the list.
2010-11-27 10:55:09 -05:00
Bryan Schumaker f23fc65cc5 Save recently played songs
In addition to the playlist, I am also saving the list of recently
played songs between sessions.
2010-11-27 10:47:31 -05:00
Bryan Schumaker 333cbaeb37 Remove from playlist
I can now remove songs from the playlist.
2010-11-27 10:38:42 -05:00
Bryan Schumaker cd91638f9c Playlist deduplication
We shouldn't add the same song to the playlist twice.  The song id set
we are keeping helps with this.
2010-11-27 10:34:08 -05:00
Bryan Schumaker e21bbdc834 Rename ocarina.collection
I have ocarina.collection to ocarina.source to reflect the naming change
in libsaria.
2010-11-26 23:34:58 -05:00
Bryan Schumaker ba4488202a Teased apart old ocarina.collection code
The new code is easier to read, and much less intimidating.  I also
changed the Library() and Playlist() classes into python modules to make
them easier to read.
2010-11-26 23:31:12 -05:00
Bryan Schumaker 5c22f959c3 Delete tabs.py
This has been replaced with ocarina.body.
2010-11-26 16:47:00 -05:00
Bryan Schumaker d690904b3b Fix playlist saving
The playlist was trying to save itself using the old save functions
2010-11-26 16:46:26 -05:00
Bryan Schumaker 506d21ca20 Remove commented out code 2010-11-26 10:59:34 -05:00
Bryan Schumaker fb24259b4a Library multiple sources list
Tracking multiple sources makes more sense as a list, rather than an
FSTree().
2010-11-26 10:56:44 -05:00
Bryan Schumaker aec799ece6 Update the web radio plugin
The web radio plugin now uses the correct add and remove page functions
2010-11-25 23:21:03 -05:00
Bryan Schumaker b861cfd7df Made a remove page function
The remove page function will remove a page from the notebook.
2010-11-25 23:20:42 -05:00
Bryan Schumaker 32ba199d18 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-11-25 23:19:55 -05:00
Bryan Schumaker 03e2aa58de Delete ocarina.info
I have replaced this file with ocarina.footer.
2010-11-25 22:44:10 -05:00
Bryan Schumaker 552d87b178 Changed up and down buttons
I have replaced the plus and minus icons with up and down arrows.
2010-11-25 22:40:31 -05:00
Bryan Schumaker 546df4407d Up and Down buttons
The up and down buttons have been re-added.  They store their state
between sessions.
2010-11-25 22:36:37 -05:00
Bryan Schumaker 52e9425333 Web controls updates
The web controls need to be updated to call the control functions in
libsaria.controls
2010-11-25 22:36:01 -05:00
Bryan Schumaker 6c7b467134 Footer add page
I can now add generic pages to the footer displayed on each main tab.
2010-11-25 14:48:33 -05:00
Bryan Schumaker eec2404b8a Added page footer
This is the second half of my old ocarina.info file.  So far it is just
the toolbar.
2010-11-25 14:18:45 -05:00
Bryan Schumaker 27a964c58a Formatting fixes
I remove the old filter bar from ocarina.info, and fix some spacing
issues in ocarina.header
2010-11-25 13:35:07 -05:00
Bryan Schumaker 5cb70a8b4d Added header
The header is shown at the top of each notebook page.
2010-11-25 13:29:45 -05:00
Bryan Schumaker dc43c27ead ocarina.body improvements
The current tab is saved between sessions, and the visible / invisible
functions are called for each page.
2010-11-25 11:24:53 -05:00
Bryan Schumaker ea4b4cad37 Began new tab interface
Right now, I am calling it body.py.  When I am done, I won't have to go
through ocarina/__init__.py to access the tabs.  Instead, I will just
have to import ocarina.body.
2010-11-24 18:35:23 -05:00
Bryan Schumaker 933e961d34 Move set_volume() and toggle_rand() 2010-11-23 21:10:22 -05:00
Bryan Schumaker 604d602448 Move stop features to libsaria.controls.py 2010-11-23 20:50:57 -05:00
Bryan Schumaker c8c79272b6 Moved play and pause to libsaria/controls.py
They have been moved from libsaria/audio/__init__.py.
2010-11-23 20:44:37 -05:00
Bryan Schumaker f8e4999ad3 pre-lookup libsaria.event.invite for buttons 2010-11-23 20:40:36 -05:00
Bryan Schumaker 1d609c5606 Add libsaria/controls.py
I will eventually be moving things over to here.  The general rule: if
it has to do with buttons on the gui, then it should probably be
considered a control.
2010-11-23 20:37:24 -05:00
Bryan Schumaker c97aa9f921 Move more things to components 2010-11-23 20:21:07 -05:00
Bryan Schumaker f3542717e9 Move entry and pbar to ocarina.components 2010-11-23 20:17:47 -05:00
Bryan Schumaker 44ff0d2fce Move buttons and image
They now live in ocarina.components, since they are used to build higher
level objects
2010-11-23 20:16:03 -05:00
Bryan Schumaker f4488dc909 Move ocarina.box
This has been moved to ocarina.components.box.  I don't think it has
been used recently, though.  Maybe it is safe to delete.
2010-11-23 20:12:49 -05:00
Bryan Schumaker 231d7f23fc Optimize a little bit 2010-11-23 20:12:33 -05:00
Bryan Schumaker ea7e869dde Window standalone module
The window is now a standalone module, and no longer accessed through
ocarina.__init__.py
2010-11-23 20:05:37 -05:00
Bryan Schumaker 717c36b78e init_pref returns value
When I initialize a preference, the actual value of the preference
should be returned to the caller.
2010-11-23 19:48:17 -05:00
Bryan Schumaker 844106a306 OpenButton() needed the new location of universal_open() 2010-11-20 10:21:02 -05:00
Bryan Schumaker a84ddabf31 Move lastfm to path/ 2010-11-20 10:05:12 -05:00
Bryan Schumaker 42948165a3 Move generic saving / loading functions
These belong under path/
2010-11-20 10:01:25 -05:00
Bryan Schumaker 751af55575 Move cache into path/
The cache modifies files, so it can be part of path/
2010-11-20 09:54:14 -05:00
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 49d7326816 Adjust ocarina bug version 2010-11-19 23:11:24 -05:00
Bryan Schumaker 1703fff378 Modified backup code
The backup code needed to be modified so that it works with Ocarina 4.1.
This involved writing a function to walk library ids, and using the
lib_get_attr function from the collection.
2010-11-19 23:05:57 -05:00
Bryan Schumaker e0cfc08ba3 Export button
Clicking this button will convert the library from the in-memory Tree
based form to xml.
2010-11-19 22:52:05 -05:00
Bryan Schumaker 65ccdb1780 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-19 22:51:56 -05:00
Bryan Schumaker 8b2a0b9433 Added xml creation functions
These functions are designed to help create an xml document.
2010-11-19 22:51:42 -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 acecb18120 Album page improvements
I have improved the album art page.  It shows the songs in a given
album, and clicking the song will cause it to play.
2010-11-17 23:34:18 -05:00