Commit Graph

724 Commits

Author SHA1 Message Date
Bryan Schumaker
4af08350e2 cur_source no longer a string
It is now a pointer to the current source instance for faster access (no
dictionary lookup needed)
2010-12-07 20:10:33 -05:00
Bryan Schumaker
0722045bdb Lyrics generic get_attrs
It can be used here too!
2010-12-07 08:17:56 -05:00
Bryan Schumaker
9f7e838ec2 wm_tweaks with generic get_attrs()
Another use for the generic get_attrs()!  This is making things much
easier...
2010-12-07 08:13:29 -05:00
Bryan Schumaker
b9eb5609fc ocarina labels with generic get_attrs()
Labels can use the generic get_attrs() function to set their tags.
2010-12-07 08:10:17 -05:00
Bryan Schumaker
1089b85e88 Get_attrs current source
The generic get_attrs() function now works correctly.  I had to
introduce a "get_cur_id()" function for each source to get this working.
2010-12-07 08:07:10 -05:00
Bryan Schumaker
9cef85a0e9 Remove play_selected_id
Nothing uses this function so it should be removed
2010-12-05 17:16:04 -05:00
Bryan Schumaker
265e063fe0 Remove lib_get_cur_id()
Nothing using this function, so it should be removed
2010-12-05 17:15:35 -05:00
Bryan Schumaker
f063da5b56 Began work on virtual sources
Virtual sources should make it easier to do things with the current song
without having to know anything about it (such as a song id or file
path).
2010-12-05 17:11:41 -05:00
Bryan Schumaker
8c2151b862 Web server dev port
When we are in "development mode" the web server should connect using a
different port.  Without this, we get an error when running two
instances of Ocarina.
2010-12-05 17:09:41 -05:00
Bryan Schumaker
40ed7d60ca Bump plugin minimum version
Plugins should now check for v4.3 instead of v4.2
2010-12-05 15:48:33 -05:00
Bryan Schumaker
a32315e1e5 Remove libsaria.sources.play_id
Nothing uses this function.  Time to remove it
2010-12-05 13:50:24 -05:00
Bryan Schumaker
b6dba32e47 Rename file2id in backup
It is easier to use file_id
2010-12-05 13:42:23 -05:00
Bryan Schumaker
3eeb35d81c Stop using file_to_id
We should now use file_id located in libsaria.path
2010-12-05 13:40:39 -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
fff834a14c Find file_id for a given path
Finding the id of a file shouldn't be the job of the library.  Instead,
it should exist as part of the path minipulation code.
2010-12-05 13:29:10 -05:00
Bryan Schumaker
9646d256ff Remove plist_refresh() 2010-12-05 13:18:29 -05:00
Bryan Schumaker
3e0b8de257 Rename library.sources
I think that "locations" is a better name than "sources".  Also, it
avoids the confusion of library sources and current track sources.
2010-12-05 13:11:31 -05:00
Bryan Schumaker
1972b1d7fa Fix minor version check of pause_after 2010-12-05 13:00:22 -05:00
Bryan Schumaker
8d5fd68cac Fix scripts/tag 2010-12-05 12:56:16 -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
43fd01e1cd Fill list with or without lock
The gtk.gdk lock is alread held when we add selected songs to the
playlist.  I deadlock if I try to grab it again.
2010-12-04 13:40:04 -05:00
Bryan Schumaker
c3dcb1c44c Comment out unused library attributes
I don't use these right now, but I may in the future.  For now, I will
just comment them out.
2010-12-04 13:39:33 -05:00
Bryan Schumaker
b64055d9b4 Don't load a song on empty playlist
If the playlist's cur_index is < 0, then we should not try to load a
song.
2010-12-04 13:38:40 -05:00
Bryan Schumaker
816bc84dfd Playlist should load id at saved cur_index
After loading the playlist, we should tell gstreamer to load the last
"current song" that the user was listening to.
2010-12-03 23:57:34 -05:00
Bryan Schumaker
e27f043e6e library.load_id()
This function only loads a song id.  It does not play the song.  If you
want to load and play a song, call library.play_id().
2010-12-03 23:56:43 -05:00
Bryan Schumaker
86462fc6ec gdk lock when populating lists
Getting this lock seems to stop an assertion failure I was getting when
trying to fill and scroll at the same time.
2010-12-03 23:55:52 -05:00
Bryan Schumaker
6147bb8e0f Don't check if audio is initialized
The audio module is initialized when libsaria starts up. We don't need
to keep checking it on every file load
2010-12-03 23:39:42 -05:00
Bryan Schumaker
84b220fae9 Return after list scrolling
We don't need to keep iterating over the list once we have scrolled to
the current song.  We can return early instead.
2010-12-03 23:33:25 -05:00
Bryan Schumaker
654b526766 Merge branch 'Ocarina-4.2' of file:///home/bjschuma/public_html/git/ocarina into Ocarina-4.2 2010-12-03 08:39:35 -05:00
Bryan Schumaker
d20a007c77 Filechooser callback in background
We should call the filechooser callback in the background so that gdk
threads have a chance to unlock and prevent deadlock.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
793827b8f2 Check for empty playlist on startup
Before setting libsaria.sources.cur_lib_id, we should check that the
playlist has something to set it to.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
a3749a9591 Removed GTK based remote
I am choosing to focus on the web remote for now.  I eventually do want
a "remote library" feature, but not as a different application.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
7453a4e5a1 Playlist track cur_index
We should track the current song index between sessions.  This means we
need to set it when selecting a random song.  This also means we need to
save the playlist on each song selection.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
d20693bba7 Select and goto song improvements
When we select a song through the gui, we should call either the
playlist or library play_id() function for appropriate bookkeeping.

Additionally, on startup we seek to sources.cur_lib_id
2010-12-03 08:36:13 -05:00
Bryan Schumaker
6b92d199e2 Only back up changed files
We only need to back up files with a score != 0 and count != 0
2010-12-03 08:36:13 -05:00
Bryan Schumaker
e5f85fab5c Library importing
I can now import both v1.1 and v1.2 libraries.  I split this into
appropriate functions for each version.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
45b14e5d79 Check library sources before adding
New sources should:
  1) Be a string
  2) Not already be a tracked source
2010-12-03 08:36:13 -05:00
Bryan Schumaker
d251a46a6a Print library scanning errors
If there is an error scanning a file, we should print what the error is
to ease debugging.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
e9fe8321af Backup sources and improvements
I already have a "dumb import" (retag all files based on the filepath)
so there is no point in storing extra attributes when I am only going to
find them again during importing.  Instead, we should only store the
information we need: filepath, score, and playcount.

Additionally, I now store the list of sources in the library backup.
2010-12-03 08:36:13 -05:00
Bryan Schumaker
9ba602318c xml write node with attributes
The xml functions can now create a node with attributes ( <node
attr="something"/> )
2010-12-03 08:35:15 -05:00
Bryan Schumaker
53027b6006 Library list sources
calling library.get_sources() will iterate over the list of sources
contained in the library.  This is mostly used for storing in the backup
xml.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
5d17242912 Clean up web radio
I removed most of the comments from the web radio plugin.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
4f5c3e8b57 Reorder header
Elements in the header have been reordered so they make more sense
2010-12-03 08:35:15 -05:00
Bryan Schumaker
e894ce10fc Web radio improvements
The web radio now exists as a single tab.  I eventually need some way of
moving to and from radio stations.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
a6090a4247 Switch pages before removing current page
If we are asked to remove the current page, we should first switch to a
different page.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
f05e6c6336 Set default page
During startup, we should check if the initial page exists.  If it
doesn't we will switch to the default page instead.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
72f85f9f92 Create a set locked function for album art
We appear to already be locked when we get to the setter function.  I
was getting deadlocked when trying to do anything.  To fix this, I
made it so I can set images without needing the lock.
2010-12-03 08:35:15 -05:00
Bryan Schumaker
90ff6ad86e Rename screenshots/ to screens/ 2010-12-03 08:35:15 -05:00
Bryan Schumaker
fb11429055 Added screenshots
I added new screenshots showing the current state of Ocarina
2010-12-03 08:35:14 -05:00
Bryan Schumaker
ba9e25c846 Change goto icon
I am now using the stock "jump to" icon, rather than "index"
2010-12-03 08:35:14 -05:00