Bryan Schumaker
5c842def01
Generic cache
...
I have created a generic cache to hold information outside of the
library. This could include album art or an artist bio.
2010-10-24 17:26:53 -04:00
Bryan Schumaker
03ed1489dc
Move forward button
...
Move the forward button so it is next to the rewind button.
2010-10-24 17:25:31 -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
de68081e74
python2 for saria-test.py
...
saria-test.py should be run with python2, not python (python is not
pointing to python 3.1)
2010-10-24 17:13:38 -04:00
Bryan Schumaker
3671b01e84
universal_open bug
...
After installing a plugin, universal_open() should return rather than
continue on.
2010-10-24 17:12:01 -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
9603e4cef0
Forward / Rewind buttons
...
I have created forward and rewind buttons to draw on the info bar. In
addition, I have created seek_sec() to seek the song by X seconds.
Right now, the seek buttons add +/- 5 seconds to the current position.
2010-10-23 15:53:52 -04:00
Bryan Schumaker
f982fab96a
More attribute labels
...
Year, count, length, and length2 labels have been created. The length2
label adds a "/" before displaying the length of the current song.
2010-10-23 15:35:16 -04:00
Bryan Schumaker
af8eb41589
Attr labels
...
I created labels that automatically update whenever a song is changed.
These labels are used for displaying the artist, album, and title of the
currently playing song. They can also be used in the future fir
displaying any attribute of a song.
2010-10-23 14:03:03 -04:00
Bryan Schumaker
816d97e3ea
Now playing tab
...
I have replaced the "test" tab with a "now playing" tab that will tell
the artist, album, and title of the current song.
2010-10-23 12:16:50 -04:00
Bryan Schumaker
50f7e1203d
Score system
...
The score system will help determine what users do and don't like. When
the user chooses a song or listens to > 75% of a song, we increment the
score. If the user selects a different song in the first 1/3 of
playback then we decrement the score.
Songs with a score >= 0 will always be played. Songs with a score < 0
have a 50% chance of playing.
2010-10-21 17:11:33 -04:00
Bryan Schumaker
5835f55eb2
Track play count
...
The play count is incremented under two conditions. 1) The track
finishes playing. 2) The user skips to the next track, but the current
track has played more than 75%
2010-10-21 12:43:59 -04:00
Bryan Schumaker
6d7b08f921
Random
...
- Made a random check button to toggle the random preference
- Playlists pick a random song from what is visible
2010-10-21 08:47:10 -04:00
Bryan Schumaker
b697abb8e0
Added .gitignore file
...
This file will cause git to ignore *.pyc files.
2010-10-21 07:58:54 -04:00
Bryan Schumaker
f1fc5caf07
Bugfixes
...
data.py: Return after deciding to scan a new library
playlist: refresh during the PREPLISTREFRESH event, not the
POSTPLISTREFRESH event
2010-10-21 07:55:21 -04:00
Bryan Schumaker
bb86a70ae4
Playlist next
...
The playlist will play the next visible song when the current song ends.
If we have reached the end of the list, we loop back around to the
beginning.
2010-10-20 22:18:41 -04:00
Bryan Schumaker
dc1b6dd4a6
Playlists
...
I can add songs to a playlist and populate the playlist afterwards (and
on startup).
2010-10-20 21:53:47 -04:00
Bryan Schumaker
02fe6dc8ba
Right click menus
...
I have started a system to create a right click menu on the fly and show
it. Currently, it only works for the library. This will be used to
populate the playlist and probably many other things (like plugins!)
2010-10-20 21:11:12 -04:00
Bryan Schumaker
48d0af571c
Collection filtering
...
I moved filtering from the Library lens to the collection base class
2010-10-20 20:21:11 -04:00
Bryan Schumaker
8f370aa3bd
Change all volume buttons
...
All existing volume buttons must be changed when the volume changes, not
just the one receiving the value-changed signal.
2010-10-20 20:08:21 -04:00
Bryan Schumaker
7b8d2288cd
Player volume
...
I can now change the volume using a button in the gui. Additionally,
the volume is stored between sessions, and the correct value is loaded
when libsaria is initialized.
2010-10-20 20:04:23 -04:00
Bryan Schumaker
507b539295
Only seek when the user updates the progress bar.
2010-10-20 08:24:54 -04:00
Bryan Schumaker
9caa247d04
Collection.find_id(): Check if the result is false. If it is, return
...
None. Otherwise, return result[0]
2010-10-20 07:59:08 -04:00
Bryan Schumaker
b45117e761
Don't return list[0] when having the library look up an id
2010-10-19 22:30:57 -04:00
Bryan Schumaker
67676d2d62
TimeLabel()
...
Made a time label that updates ever 5 seconds to show the current time
into the song.
2010-10-18 21:05:50 -04:00
Bryan Schumaker
d56f3b2d0a
Multiple changes
...
- Remove google from the web radio plugin
- Change ocarina.py to use python2
- Seek in song using slider
2010-10-18 21:04:39 -04:00
Bryan Schumaker
ff8d599008
removed print statements
2010-10-18 10:59:00 -04:00
Bryan Schumaker
6a2ec62015
Call pause() at end of each stream
2010-10-18 10:49:48 -04:00
Bryan Schumaker
b85f1ac5c4
Formatting changes to the event error message
2010-10-18 10:12:05 -04:00
Bryan Schumaker
98ded4f032
Progress bar slider movement
...
The progress bar slider updates every half second as a song plays.
2010-10-16 14:21:25 -04:00
Bryan Schumaker
1da55341d4
Fixed loading of random songs
...
I fixed loading of songs not in the library by correctly implementing
the path walk function in the DLTree class
2010-10-15 23:12:33 -04:00
Bryan Schumaker
519f4c0fd8
Began moving functions from the gui collection to the gui list where
...
they belong.
2010-10-14 17:11:38 -04:00
Bryan Schumaker
45e2b0325f
Filtering improvements
...
When a list is filtered, if the Nth song is selected we should play song
N in the filtered list and not the original list.
2010-10-14 08:16:13 -04:00
Bryan Schumaker
eb7932fad2
Added the beginnings of a progress bar
2010-10-11 20:48:43 -04:00
Bryan Schumaker
6934974d75
Time strings
...
During scanning I convert the length into a time string ( "h:mm:ss" ).
This is drawn in the gui when a collection list is populated.
2010-10-11 18:22:05 -04:00
Bryan Schumaker
6c6477b677
Index filtering
...
I have implemented simple filtering over the library. This will return
a set of visible songs based on the search pattern.
2010-10-10 23:06:54 -04:00
Bryan Schumaker
168025fb60
Collection Indexing
...
I can now add songs to a collection's index. The index only works for
unicode string right now (all others must be converted)
2010-10-10 13:45:52 -04:00
Bryan Schumaker
2c27185679
Use new collection structure to populate the library list.
2010-10-08 13:09:42 -04:00
Bryan Schumaker
adcb73dac9
Have a working doubly-linked tree based library.
...
I have a bit more to do before I support everything the old library did.
Mostly getattr work.
2010-10-06 23:31:36 -04:00
Bryan Schumaker
42dbdd2736
I now add buttons to the info tabs using an action widget.
2010-10-04 19:20:49 -04:00
Bryan Schumaker
ab29b2cb2b
More work with collections based on doubly linked trees
2010-10-03 19:00:06 -04:00
Bryan Schumaker
31b470e597
Track tags in another double linked tree. Create a record for each
...
track linking to each tree. Create a library filter for creating a
library.
2010-10-01 21:33:19 -04:00
Bryan Schumaker
8221411ca2
Double linked trees
...
I have begun working on doubly-linked trees for use in collections.
2010-10-01 12:32:24 -04:00
Bryan Schumaker
6609e48d5c
Play / Pause / Close tabs
...
I am using tabs in the info pane to act as buttons when the pane is
expanded. Eventually I want to move this over to an action widget, but
pygtk doesn't support action widgets for notebooks yet. Hopefully this
will be fixed by the next release.
2010-09-13 19:32:13 -04:00
Bryan Schumaker
4a5085d973
File chooser window
...
I have created my own file chooser window that can select both files and
directories. Currently, the "OK" button must be clicked to select
anything.
2010-09-12 19:11:37 -04:00
Bryan Schumaker
2aded0e67f
Filesystem Selecting
...
Began experimenting with a filesystem selector that can select both
files and directories.
2010-09-10 17:46:42 -04:00
Bryan Schumaker
2f562bcc81
Buttons
...
Added a button class, and attached play/pause buttons to the bottom of
the window.
2010-08-30 17:57:08 -04:00
Bryan Schumaker
4d41cbfc30
Playlist borders
...
Both top and bottom playlist borders are present, but both only have a
placeholder label for now. Double clicking on a row in the list will
play a song now.
2010-08-25 08:18:57 -04:00
Bryan Schumaker
c5a7508573
Began bottom pane
...
I only need to create one bottom pane instance now. When the tabs are
changed, the object will be removed from the old tab and added to the
new one. This will preserve the state of the pane between tabs.
2010-08-22 12:40:39 -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