Commit Graph

388 Commits

Author SHA1 Message Date
Bryan Schumaker e64f93ef39 libsaria: New library source callback
Triggered upon scanning a new path to add to the library.
2011-05-01 12:46:17 -04:00
Bryan Schumaker bc54ef0a98 libsaria: Add a load_playlist() callback
Called when playlists are loaded from file.
2011-05-01 12:46:17 -04:00
Bryan Schumaker a6bd531aee ocarina: Fetch image during load
I also set absolute sizes for album art.  Scaling to size 1 was causing
scale_simple() to block forever.
2011-05-01 12:46:17 -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 889e17fab9 libsaria: Remove event system from controls
This is a big step forward for reving the event system entirely.
2011-05-01 12:46:17 -04:00
Bryan Schumaker 34dcb7998f libsaria: Add in absolute seeking by percentage
I give a percentage and gstreamer will seek to that position in the
song.
2011-05-01 12:46:17 -04:00
Bryan Schumaker 99771a34fb libsaria: on_like() callback
This replaces the LIKE event for setting if the user likes the current
song.
2011-05-01 12:46:16 -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 6e6705736e libsaria: Add a load_file() callback 2011-05-01 12:46:16 -04:00
Bryan Schumaker 6c73a9c43a libsaria: Remove STOP event
I can double up on the pause callback in place of a stop callback.
2011-05-01 12:46:16 -04:00
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 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 6cb857d988 ocarina: Switch over to new preferences methods
I removed the old methods, so I need to use the new methods for ocarina
to start up.  This patch switches everything over.

NOTE: As of this patch, ocarina should work again.
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 34f2ffe227 ocarina: enable window drag-n-drop
This calls universal_open() to open whatever file is dropped onto the
window
2011-05-01 12:28:09 -04:00
Bryan Schumaker 2c5d873cd0 ocarina: Remove settings directory
I can add in a settings tab later.  Cleaning up code is a higher
priority
2011-05-01 12:27:58 -04:00
Bryan Schumaker 19f2597936 ocarina: Remove components directory
I've implemented everything that was here.  Time to remove it
2011-05-01 12:27:49 -04:00
Bryan Schumaker cf164deb44 ocarina: Remove old code from library and playlist 2011-05-01 12:27:38 -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 9684ecce40 ocarina: Refresh playlist when loaded 2011-05-01 12:27:21 -04:00
Bryan Schumaker 3b131f33ef ocarina: Added universal open button
I want to redo the chooser for this, but I'll need to redo the sources
first.  I guess it'll have to wait for 4.5?
2011-05-01 12:27:11 -04:00
Bryan Schumaker 8891cb8c36 ocarina: Added new save button
This saves playlists
2011-05-01 12:27:03 -04:00
Bryan Schumaker df3c9702be ocarina: Remove old image file
It's been replaced
2011-05-01 12:26:54 -04:00
Bryan Schumaker 71d73ecdd1 ocarina: Manually set album art when image clicked 2011-05-01 12:26:44 -04:00
Bryan Schumaker 091aa3972c ocarina: Added update button
I think it works... I may not have gotten updating the library correct
in v<4.3.  I'll fix it in 4.5 when I rewrite libsaria.
2011-05-01 12:26:34 -04:00
Bryan Schumaker 3f173b9468 ocarina: remove old volume button
not needed anymore...
2011-05-01 12:26:24 -04:00
Bryan Schumaker 5ff0419633 ocarina: Added volume button to header 2011-05-01 12:25:44 -04:00
Bryan Schumaker 6291cb6686 ocarina: clean up like / dislike button functions
these functions are now created as part of the button generating
functions
2011-05-01 12:25:34 -04:00
Bryan Schumaker 1a86edca35 ocarina: clean up button generating code
I use a generic "set attributes" function to set the default attributes,
rather than having this function essentially twice (once for normal
buttons and once for toggle buttons)
2011-05-01 12:25:25 -04:00
Bryan Schumaker 97af3d50e4 ocarina: Call toggle buttons without toggling enabled
I disable the toggle callback, call a function, and then reconnect the
callback.
2011-05-01 12:25:15 -04:00
Bryan Schumaker 55730d3dbf ocarina: Remove old footer code 2011-05-01 12:25:06 -04:00
Bryan Schumaker 40751a9eed ocarina: Remove old body code 2011-05-01 12:24:57 -04:00
Bryan Schumaker 3b8411f175 ocarina: Remove old listview code 2011-05-01 12:24:48 -04:00
Bryan Schumaker b2e7054458 ocarina: Remove old window init code
Everything is covered now
2011-05-01 12:24:37 -04:00
Bryan Schumaker 0aa618ee5a ocarina: remove old shortcut code
The new code is more generic and easier to maintain / add new shortcuts
2011-05-01 12:24:27 -04:00
Bryan Schumaker a4d27d0b0f ocarina: Catch exception on empty album art file
I don't want to set the image to an empty file.  Improving the cache so
that it doesn't store empty files is the best solution, so for now I
just check the error (and keep the function from uninviting itself from
the POSTGETART event)
2011-05-01 12:24:17 -04:00
Bryan Schumaker 29a47e84ad Ocarina: g key goes to currently playing song 2011-05-01 12:24:04 -04:00
Bryan Schumaker 2b0c7792d0 ocarina: f key toggles footer 2011-05-01 12:23:53 -04:00
Bryan Schumaker dc418df572 ocarina: Window grabs focus on escape
Pressing the escape key will cause the window to grab focus
2011-05-01 12:23:43 -04:00
Bryan Schumaker a639c520f5 ocarina: Added control shortcuts 2011-05-01 12:23:33 -04:00
Bryan Schumaker 72e59c9263 ocarina: Added shortcut famework
Now to add more shortcuts...
2011-05-01 12:23:22 -04:00
Bryan Schumaker 2feb354631 ocarina: Remove old tiny footer code 2011-05-01 12:23:12 -04:00
Bryan Schumaker 349d4fc1bd ocarina: Album art in tiny footer 2011-05-01 12:23:02 -04:00
Bryan Schumaker 8e4e17f0df ocarina: Remove old now playing page code
It has been reimplemented in a new file
2011-05-01 12:21:28 -04:00
Bryan Schumaker be3f8845fe ocarina: Remove some of the old album art code
It was commented out and no longer necessary.
2011-05-01 12:21:16 -04:00
Bryan Schumaker cc3d95d9a0 ocarina: Reset album art when new song loaded
I set it to the ocarina logo, it can change again later.
2011-05-01 12:21:04 -04:00
Bryan Schumaker 6482dc157b ocarina: Maximum album art size
Change song while on tiny footer
Expand to large footer
Look at the HUGE album art image

To fix this, I set a maximum size that album art can be
2011-05-01 12:20:52 -04:00
Bryan Schumaker e60848c119 ocarina: Fix cur song display on tiny footer
It used to be "$TITLE $ARTIST".  I changed it to "$TITLE by $ARTIST"
2011-05-01 12:20:40 -04:00
Bryan Schumaker 5b8b7a8a46 ocarina: Added image tooltip
It shows the full sized image
2011-05-01 12:20:28 -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 ad734ae8d3 ocarina: clean up export button 2011-05-01 12:19:39 -04:00
Bryan Schumaker a5dfe5302c ocarina: new export button
I also removed the old code
2011-05-01 12:19:31 -04:00
Bryan Schumaker 7c772e5315 ocarina: remove some more commented out code 2011-05-01 12:19:21 -04:00
Bryan Schumaker 4f129cae03 ocarina: don't expand long attribute list to variables
keep it as a tuple and pass it as a generic argument instead
2011-05-01 12:17:29 -04:00
Bryan Schumaker 832aec4daf ocarina: remove old pbar.py
The new slider code is smaller and more readable.
2011-05-01 12:17:18 -04:00
Bryan Schumaker 3fa902186b Ocarina: Added progress slider
Click to seek
2011-05-01 12:17:08 -04:00
Bryan Schumaker f9c1538a58 ocarina: Remove components/box.py
What was this file even used for...?
2011-05-01 12:16:58 -04:00
Bryan Schumaker 97189d7b93 Ocarina: Remove old menu code
Because nothing uses it anymore...
2011-05-01 12:16:47 -04:00
Bryan Schumaker de1fafcbc1 Ocarina: Added common menu items
Right now, it's just the "pause after current track" feature.
Eventually there may be more.
2011-05-01 12:16:38 -04:00
Bryan Schumaker 096564c942 ocarina: remove commented out code from footer 2011-05-01 12:16:27 -04:00
Bryan Schumaker 02d2b5c621 ocarina: remember footer state 2011-05-01 12:16:17 -04:00
Bryan Schumaker f8fb785ad0 ocarina: Remove old button code
This removes the old LikeButton(), DislikeButton(), and ToggleButton()
2011-05-01 12:16:05 -04:00
Bryan Schumaker a519ad62ab ocarina: Added like and dislike buttons 2011-05-01 12:15:56 -04:00
Bryan Schumaker 27c3d2b3f1 ocarina: Remove commented out code
This includes all of ocarina/components/label.py
2011-05-01 12:15:46 -04:00
Bryan Schumaker aac05e92b5 Ocarina: Added year, length and playcount attrs to nowplaying
It's begining to look like the Ocarina 4.3 style now playing page...
2011-05-01 12:15:34 -04:00
Bryan Schumaker 6c20398699 ocarina: Show some attributes on the now playing page
Title, album, and artist for now.
2011-05-01 12:15:22 -04:00
Bryan Schumaker 8ea0036df0 Ocarina: Added now playing page to detailed view
This is the first of (probably) multiple notebook pages that will be
added.  It still needs to show more information, but this is a start.
2011-05-01 12:15:12 -04:00
Bryan Schumaker 103c6bea35 ocarina: Added notebook for detailed information
I eventually want to support multiple pages and other stuff.
2011-05-01 12:15:00 -04:00
Bryan Schumaker 5297991b89 ocarina: Hide info bar when up button clicked
Once I make my expanded display, I will show that as well
2011-05-01 12:13:11 -04:00
Bryan Schumaker 21d6f57e89 Ocarina: Remove commented out code from library / playlist / queue
I was keeping this code as a reference, but I already implement
everything it does.  It can be removed now.
2011-05-01 12:12:55 -04:00
Bryan Schumaker 864f64cc84 ocarina: Move goto and clear functions
Now they are created right before the buttons are.  This makes it so I
can return buttons that do exactly what I want every time.
2011-05-01 12:12:41 -04:00
Bryan Schumaker f8c64e0f78 ocarina: Added random button
I also added code for creating toggle buttons easily.
2011-05-01 12:12:30 -04:00
Bryan Schumaker 86bac243d2 ocarina: clear current page
This clears whatever is on the current page and saves changes (in the
case of the playlist and library)
2011-05-01 12:12:22 -04:00
Bryan Schumaker 3b50c4071c ocarina: goto current song
I do this when the goto button is pressed and also when the song
changes.
2011-05-01 12:12:13 -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 5b5a232b43 ocarina: Add more callbacks
This should make the code more readable and useable
2011-05-01 12:11:52 -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 5ab592dcda ocarina: Add buttons to tiny footer
The new buttons are much simpler than my old ones.  This should work out
better.
2011-05-01 12:11:14 -04:00
Bryan Schumaker b5665b016f Ocarina: Began redoing footer
The new code should be more maintainable and less confusing /
intimidating.
2011-05-01 12:11:03 -04:00
Bryan Schumaker 5d4d86275e Ocarina: move footer.py to new directory
I will split it up into multiple files
2011-05-01 12:10:43 -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 35bb4a0ab3 ocarina: Remove dead code
This code was commented out for my gui revamp.  I don't need it anymore.
2011-05-01 12:10:00 -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 0c02d6eff3 ocarina: Remove old, commented out code
It's not needed any more...
2011-05-01 12:07:38 -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 6385c1f342 Ocarina: Begin rewriting header
I show the entry, and I call a filter function for the current page.
2011-05-01 12:05:59 -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 dfa3eb0af1 Move Page() class to new file
This helps with my cleanup
2011-05-01 12:03:42 -04:00
Bryan Schumaker 3aee2cd867 move body.py to new directory
This should help to clean up everything a bit more.
2011-05-01 12:03:27 -04:00
Bryan Schumaker fb4e863b64 Move Source() class to ocarina/sources/__init__.py
This finishes my initial attempt at cleaning up this portion of the gui.
2011-05-01 12:03:12 -04:00
Bryan Schumaker 965ff4dc18 Move listview to new file
Continuing my source gui cleanup
2011-05-01 12:02:26 -04:00