Bryan Schumaker
3c919ba7ca
Ocarina 5.4
2011-12-17 10:07:57 -05:00
Bryan Schumaker
983ce59efb
ocarina: Added keyboard shortcuts
...
Now I don't need to click in the GUI to do things. I never realized how
much I missed these until now.
2011-12-17 09:44:24 -05:00
Bryan Schumaker
81e7662c7e
libsaria: Track current gstreamer state
...
I use this to tell the GUI if music is currently playing or not.
2011-12-17 09:44:24 -05:00
Bryan Schumaker
b75deae1a2
ocarina: Move pause after menu item
...
I now put it at the end of the menu since I want to queue songs more
often.
2011-12-17 09:44:20 -05:00
Bryan Schumaker
7f125061f6
ocarina: Don't filter the queue
...
It was only getting filtered when new songs were added to it and never
unfiltered. This was somewhat confusing for me, and not very useful
since the only visible songs were the last ones added. I fixed this by
creating an init option to enable filtering on songlists.
2011-12-17 09:44:16 -05:00
Bryan Schumaker
a10fd2f5a0
libsaria: Print size of queue
...
I needed this for debugging, so I'll leave it there.
2011-12-17 09:44:11 -05:00
Bryan Schumaker
01b6df4f47
ocarina: Scroll treeview to current song
...
I do this whenever the current song changes.
2011-12-12 08:35:11 -05:00
Bryan Schumaker
64aff6a849
ocarina: Added a "Pause after current track" menu item
...
Unlike my old version, this menu item is a check box that shows the user
the current 'pause after' state. This should be more useful and less
frustrating / confusing now.
2011-12-11 21:05:04 -05:00
Bryan Schumaker
5c6d7903a8
libsaria: Pause after current song
...
What if you want to leave and a good song starts playing? This solves
the problem by loading the next song, but not playing it so the user can
go away and listen to it when they come back.
2011-12-11 21:03:09 -05:00
Bryan Schumaker
304b581274
libsaria: Check if $HOME is part of $XDG_CONFIG_HOME
...
On one machine it is, on another it isn't. This should be a solution
that works for everybody.
2011-12-11 20:26:39 -05:00
Bryan Schumaker
83867dba2c
libsaria: Reindex on library refresh
...
This should allow me to filter while the library is scanning.
2011-12-11 20:25:53 -05:00
Bryan Schumaker
e987eaa3a4
ocarina: Hide queue when empty
...
This was something that I did in 4.x, and I like the feature. Who wants
to see an empty notebook page?
2011-12-11 17:56:24 -05:00
Bryan Schumaker
e983d69322
libsaria: Chose next songs from the queue
...
If there are songs in the queue, I pick from there. Otherwise, I pick
from the library.
2011-12-11 16:25:24 -05:00
Bryan Schumaker
0f3e5d5963
ocarina: Fill in the queue
...
The library passes in its selected songs and then the queue responds to
the QUEUE_REFRESH callback to fill in the list.
2011-12-11 16:18:47 -05:00
Bryan Schumaker
6ef54e07c5
libsaria: Add songs to the queue
...
It takes a list of song ids and adds them to a deque. The UI can then
iterate over each ID and query the size.
2011-12-11 16:16:02 -05:00
Bryan Schumaker
9739bdc76a
libsaria: Library get_info() returns TrackTag
...
I simplify the function by removing the function pointer call and
letting callers deal with the TrackTag pointer it now returns.
2011-12-11 16:14:53 -05:00
Bryan Schumaker
56eee0ae22
libsaria: Added queue
...
I do this as a double-ended queue so I can remove songs anywhere I want
(and hopefully re-order them later, too).
2011-12-11 15:46:58 -05:00
Bryan Schumaker
9a9fc87f92
ocarina: Properly respond to a right click
...
I had a test function, but it wasn't being called. I connected the
widget to the activate signal and improved the function to list the rows
that are currently selected.
2011-12-11 15:46:54 -05:00
Bryan Schumaker
74ab92ea6f
ocarina: Get list of selected IDs from the songlist
2011-12-11 15:46:50 -05:00
Bryan Schumaker
781dedfe13
ocarina: Added a queue page
...
Eventually it will show the list of queued songs. For now I just add an
unused page.
2011-12-11 15:46:47 -05:00
Bryan Schumaker
57bf72c4e5
libsaria: Get utf8 encoded strings from taglib
...
This should cut down on the number of pango errors that I see when
filing in lists.
2011-12-11 15:46:44 -05:00
Bryan Schumaker
0b4d9c25eb
libsaria: Use absolute paths for saria dirs
...
I noticed that new save files weren't being created. I now use the HOME
environment variable to construct an absolute path to write files to.
2011-12-11 15:46:40 -05:00
Bryan Schumaker
a14cedc942
libsaria: Choose songs after filtering
...
Songs are only picked from the set of visible songs after filtering.
2011-12-11 15:46:35 -05:00
Bryan Schumaker
f0decd07d6
libsaria: Load library through an idle task
...
This allows me to draw the UI first and load the library once that has
finished. This should make Ocarina feel more responsive.
2011-11-13 13:44:45 -05:00
Bryan Schumaker
ffbaff27ec
libsaria: Change the number of tracks indexed at once
...
I was doing 50, but I think I can handle 100. I also defined a constant
at the top of the file to make it easier to change this value again in
the future.
2011-11-13 12:43:02 -05:00
Bryan Schumaker
6e033513c0
libsaria: Refilter during indexing
...
I trigger a REFILTER callback after each IndexTask is processed to keep
the UI up to date with the current index.
2011-11-13 12:40:42 -05:00
Bryan Schumaker
f7bd0d873f
ocarina: Move some buttons to the header
...
I think these buttons work better in the page header, rather than in the
footer with the controls.
2011-11-13 12:34:57 -05:00
Bryan Schumaker
364b3a7c65
ocarina: Set label text after filtering
...
Set it to the current number of visible songs.
2011-11-13 12:22:02 -05:00
Bryan Schumaker
b36def4c08
libsaria: Change library size when filtered
...
I return the number of visible songs, so if the user has entered a
filter string then I return the size of the results set. If we're not
filtered then I return the size of the playlist.
2011-11-13 12:21:00 -05:00
Bryan Schumaker
5512d46e4e
ocarina: Filter the song list
...
Users enter text and non-matching songs are removed from the songlist
view (they do come back when the text is removed)
2011-11-13 12:05:52 -05:00
Bryan Schumaker
fa498f379c
libsaria: Added an is_visible() function
...
This will return true if the given inode is visible.
2011-11-13 12:05:03 -05:00
Bryan Schumaker
75cb804756
libsaria: Added a REFILTER callback
...
This will be called to inform the UI that the filter text has changed.
2011-11-13 11:33:12 -05:00
Bryan Schumaker
824f589ff2
libsaria: Perform filtering
...
I use an in-place set intersection to find a set of songs that match the
search terms.
2011-11-13 11:29:41 -05:00
Bryan Schumaker
048313c681
ocarina: Added filter entry
2011-11-13 10:49:05 -05:00
Bryan Schumaker
1c0084b2e9
libsaria: Created a generic format_text() function
...
This is used by the track tags for creating word lists. I also use the
function to format filter search text.
2011-11-13 10:47:55 -05:00
Bryan Schumaker
1c5b230434
ocarina: Add a GtkEntry for filtering
2011-11-13 10:33:16 -05:00
Bryan Schumaker
8ae21bfe58
ocarina: Added basic header
...
It's a label declaring itself to be a header. This allows me to make
sure that page switching functions work before I get too far.
2011-11-13 10:03:47 -05:00
Bryan Schumaker
d5df6e134b
libsaria: Build the substring index
...
This is an index of every substring in the (artist, album, title) tags
of the library. This should be easier to work with than regular
expression based filtering since I don't need to compare every key with
every search term.
2011-11-13 09:48:50 -05:00
Bryan Schumaker
7fc4e22795
libsaria: Call a dummy index function for each TrackTag
...
This function takes an inode and word list. Soon it will add each
substring to an index.
2011-11-12 19:31:42 -05:00
Bryan Schumaker
fc50ceb34f
libsaria: Format each tag as it is read in
...
I lowercase everything, strip out some characters, and create a linked
list of each word for each tag.
2011-11-12 19:21:41 -05:00
Bryan Schumaker
86e40cefcb
ocarina: Turn on idle tasks during startup
...
This allows indexing to run right away, rather than waiting for other
idle tasks to be added.
2011-11-12 14:27:28 -05:00
Bryan Schumaker
ef36c58e96
libsaria: Create an IdleTask for indexing the library
...
Right now this will only be triggered when the library is loaded from
disk. Once I get farther I can easily create a function to index a
track as it is added to the library (so I won't need to reindex
everything during this case)
2011-11-12 14:25:32 -05:00
Bryan Schumaker
eab73ffb39
Begin work on Ocarina 5.4
2011-11-12 14:03:13 -05:00
Bryan Schumaker
cad03257eb
Created a PKGBUILD
...
Now I can submit ocarina to the AUR! I also updated the .gitattributes
file so the PKGBUILD doesn't get included in the tarball.
2011-11-11 08:12:40 -05:00
Bryan Schumaker
a9b4147df8
build: Updated Sconstruct
...
A few fixes before releasing 5.3
2011-11-11 08:07:58 -05:00
Bryan Schumaker
82cb17c1cb
build: Added support for DESTDIR
...
I'll need this for my PKGBUILD
2011-11-10 17:31:27 -05:00
Bryan Schumaker
41f1c01752
build: Don't generate include/version.h all the time
...
Installing, cleaning and archiving don't need to create the version.h
file, so instead I'll add it as a build step for ocarina.
2011-11-09 23:17:59 -05:00
Bryan Schumaker
863bce3482
Update .gitignore
...
Ignore tarballs
2011-11-09 23:04:36 -05:00
Bryan Schumaker
624d9a9e74
build: Added a `scons archive` command
...
This will create an ocarina tarball for the current release.
2011-11-09 23:04:16 -05:00
Bryan Schumaker
42d4fd4bd1
Update attributes file
...
Maybe now it'll work a bit better...
2011-11-09 22:47:45 -05:00