Anna Schumaker
ec4d3b945e
audio: Fix seeking on ARM
...
The on_seek() function needs to take an int64_t to avoid truncating on
ARM.
Signed-off-by: Anna Schumaker <anna@ocarinaproject.net>
2015-04-14 09:05:09 -04:00
Anna Schumaker
657ce8f0f4
audio: Ensure position and duration results are 64 bits
...
A long int is shorter on ARM than x86, which could cause position and
duration values to get truncated. Additionally, quering gstreamer with
a long int causes a compile error on ARM. Let's just do the right thing
and make this value an int64_t.
Signed-off-by: Anna Schumaker <anna@ocarinaproject.net>
2015-04-14 09:05:05 -04:00
Anna Schumaker
eabb5ef856
queue: Remove Q_NOTIFY_REMOVE flag
...
It no longer has any meaning.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-09 09:27:46 -04:00
Anna Schumaker
9180545bc2
queue: Remove on_remove() notification
...
I no longer need it to pass queue-removed messages to the gui.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-09 09:26:36 -04:00
Anna Schumaker
c80468a739
callback: Remove all references to callbacks
...
Callbacks have no remaining users and can safely be removed :)
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-04 10:21:31 -04:00
Anna Schumaker
116d1cd28f
deck: Make sure that Q_NOTIFY_REMOVE is set
...
TempQueues need this to tell the GUI when they have been removed.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-04 10:20:53 -04:00
Anna Schumaker
e8b68b84eb
queue: Add an on_remove() notification to the QNotifier class
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-04 10:20:49 -04:00
Anna Schumaker
b95bbe6ad4
queue: Create an on_track_updated() callback
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-03 20:55:07 -04:00
Anna Schumaker
9eef2ad35d
queue: Create an on_track_removed() notification
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-03 12:24:37 -04:00
Anna Schumaker
91fc9436a5
queue: Give notifiers an "on_track_added()" function
...
So they can tell GUIs that something has been added.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-03 12:19:08 -04:00
Anna Schumaker
c5598293d6
queue: Create a notifier class
...
This class will be used to push queue changes directly to the GUI.
Currently changes get mapped through the old callbacks system, which can
lead to several inefficiencies because the GUI has to look up each queue
structure in a list.
This patch implements a basic QNotifier class and provides a function
for setting a Queue's notifier.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-04-03 12:16:40 -04:00
Anna Schumaker
75d39cbd85
playlist: Add a "least played tracks" playlist
...
This playlist will look for any track with a below average playcount.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-02-06 15:33:42 -05:00
Anna Schumaker
0997ffff99
playlist: Add a "most played tracks" playlist
...
This playlist will look for any track with an above average play count.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-02-06 15:10:38 -05:00
Anna Schumaker
64291ff02c
playlist: Add an "unplayed tracks" dynamic playlist
...
Unplayed tracks is a dynamic playlist generated whenever we are asked to
select the "Unplayed" playlist. Note that dynamic playlists aren't
hooked up to the other playlist functions (has, add, del, or
get_tracks). This is to avoid adding them to the index and potentially
writing out to disk.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-02-06 14:33:57 -05:00
Anna Schumaker
3f423fb3ae
filter: Use string :: lowercase() for searching
...
This is a much simpler way of doing things.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-30 10:54:39 -05:00
Anna Schumaker
6c4dc5b1db
filter: Remove lowercase() function
...
And switch everything over to using the new implementation.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-30 09:35:55 -05:00
Anna Schumaker
7733e24c07
string: Add a lowercase() function
...
This function strips out special characters and returns the lowercase
version of the string.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-30 09:32:50 -05:00
Anna Schumaker
cc6f4c9293
string: Add a function for creating a detailed time string
...
I use this to display the total running time of queues in the gui.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-29 08:27:25 -05:00
Anna Schumaker
12260a3de9
string: Add a function for converting seconds to string
...
This is used to get a string representation of the number of seconds
passed in.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-27 09:23:14 -05:00
Anna Schumaker
6c6437c2bd
string: Create a utos() function
...
This function converts unsigned ints into strings. This allows me to
replace several almost identical functions with one function call.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-27 08:37:27 -05:00
Anna Schumaker
77fc2fff5c
version: Add a "+" to version string
...
I use this to show that there have been any changes since the last
release.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-26 08:43:14 -05:00
Anna Schumaker
e6d9a58be2
gui: Remove CONFIG_TEST macros
...
I haven't had gui unit tests in months, so these can be removed for now.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-21 08:43:55 -05:00
Anna Schumaker
74a557739d
lib: Remove rest of lib/
...
This is all contained in the gui code now.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-21 08:39:02 -05:00
Anna Schumaker
98ff0b79cd
colmgr: Merge lib/ and gui/ code back together
...
The code is still messy now, but I'll be cleaning it up soon!
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-17 13:19:41 -05:00
Anna Schumaker
27c7dc91d8
queue: Fix up sorting
...
If years are equal then sort by album name.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 10:08:53 -05:00
Anna Schumaker
6cfd0d5c51
tests: Rework much of the testing library
...
I move the code into a new cpp file, so it is no longer a header-only
library. I also take the chance to add a for-each function for testing
iterators.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 09:35:26 -05:00
Anna Schumaker
8d3010a31e
queue: minor cleanup
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 09:35:26 -05:00
Anna Schumaker
1dfe475ade
idle: Clean up unit test
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 09:35:26 -05:00
Anna Schumaker
afd47ce667
index: Clean up unit test
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 09:35:26 -05:00
Anna Schumaker
4b0c6121c3
database: Clean up the unit test
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-13 09:35:26 -05:00
Anna Schumaker
0abc562033
build: Remove unused global environment variables
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-02 10:43:44 -05:00
Anna Schumaker
a371e832dd
build: Remove valgrind support
...
I never actually used this. Testing with valgrind should happen
manually if needed.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-02 10:32:16 -05:00
Anna Schumaker
3750293ca0
tags: Fix expected years
...
Year is no longer 2014.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2015-01-02 10:26:52 -05:00
Anna Schumaker
92d264d4ac
audio: Move Driver into audio.h
...
I also rename from Driver -> AudioDriver.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-20 15:48:07 -05:00
Anna Schumaker
6a117c762e
driver: play() and pause() shouldn't return a boolean
...
This value is never used in the audio layer so let's stop returning it
from the driver.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-20 14:32:31 -05:00
Anna Schumaker
d7113cb124
driver: Pass Tracks to the load() function
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-20 12:01:38 -05:00
Anna Schumaker
a4ad0aa79b
driver: Fold eos() into the driver
...
With this patch I no longer need a Driver :: init() function to handle
picking the next track.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-20 11:04:14 -05:00
Anna Schumaker
fd2a251c14
audio: Initialize GST from the gui layer
...
This means I no longer need to pass argc and argv parameters to core/,
so I can eventually work towards removing the Driver :: init() function.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-20 10:16:44 -05:00
Anna Schumaker
e7a8ad54bd
Audio: Remove the driver on_error() callback function
...
This was used to get around layering issues with the gstreamer driver.
Now that the gstreamer implementation is in the gui code we can have it
call audio::next() directly.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-19 17:26:39 -05:00
Anna Schumaker
5b32bb16b4
Audio: Make the TestDriver class completely internal to the audio test
...
It's not used anywhere else except during this one test, so move it out
of the global include files.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-19 17:21:32 -05:00
Anna Schumaker
b9d4c6749d
audio: Move the get_driver() function into the audio namespace
...
It's already in the audio.cpp file, so just reshuffle things a little
bit.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-19 14:54:12 -05:00
Anna Schumaker
f20898b79c
driver: Merge code with audio.cpp
...
The driver is intended to be a small class, so put it in the audio code
now and we'll clean it up in future patches.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-19 14:37:56 -05:00
Anna Schumaker
c12dbae73a
driver: Track current driver with a pointer
...
This will let me implement drivers outside of this file allowing for
easier customization.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-19 14:20:30 -05:00
Anna Schumaker
39eb22f05c
Queue: Update doxygen documentation
...
I also remove the related section of the DESIGN document.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-09 08:40:14 -05:00
Anna Schumaker
a1b6955a1d
Queue: Clean up queue flags
...
Reformat the doxygen comments and remove the unused Q_FLAG_MASK
constant.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-07 09:58:47 -05:00
Anna Schumaker
5a31963e30
tests: Tell doxygen to avoid looking at tag tests
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-04 08:37:07 -05:00
Anna Schumaker
e7e36caa3a
tagdb: Remove tagdb
...
This shifts the taglib code into library.cpp. I also remove the tagdb
section of the DESIGN document.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-04 08:31:52 -05:00
Anna Schumaker
c7fe5b18d5
tagdb: Rip out most tagdb functions
...
Most of this are a straight replacement with the new versions in
tags/track.cpp.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-04 08:31:52 -05:00
Anna Schumaker
2394e46fb7
Track: Re-enable filtering
...
This has been disabled for some time. I added a test for adding track
indexes to the filter upon creation, but it doesn't properly test adding
to the filter when reading from disk.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-04 08:31:52 -05:00
Anna Schumaker
09bf458d7a
Track: Rename functional test to locale test
...
This code is really testing date and locale handling, so this patch
renames the function to match what it actually does. While I'm at it, I
also introduce some cleanups.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2014-12-04 08:31:52 -05:00