core/playlist: Replace queue_at() with playlist_at()

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2016-09-21 16:04:52 -04:00
parent 8bf5aefd1a
commit 1c6305e24e
6 changed files with 27 additions and 29 deletions

View File

@ -117,7 +117,7 @@ static bool sys_pl_hidden_clear(struct playlist *playlist)
struct track *track; struct track *track;
while (playlist_size(playlist) > 0) { while (playlist_size(playlist) > 0) {
track = queue_at(&playlist->pl_queue, 0); track = playlist_at(playlist, 0);
sys_pl_hidden_remove(playlist, track); sys_pl_hidden_remove(playlist, track);
} }

View File

@ -156,14 +156,12 @@ static gboolean __gui_model_iter_nth_child(GtkTreeModel *model,
GtkTreeIter *parent, GtkTreeIter *parent,
gint n) gint n)
{ {
struct queue *queue = &cur_playlist->pl_queue;
if (parent || !cur_playlist || n >= playlist_size(cur_playlist)) if (parent || !cur_playlist || n >= playlist_size(cur_playlist))
return FALSE; return FALSE;
iter->stamp = gui_model->gm_stamp; iter->stamp = gui_model->gm_stamp;
iter->user_data = GUINT_TO_POINTER(n); iter->user_data = GUINT_TO_POINTER(n);
iter->user_data2 = queue_at(queue, n); iter->user_data2 = playlist_at(cur_playlist, n);
return TRUE; return TRUE;
} }

View File

@ -76,4 +76,9 @@ static inline int playlist_current_index(struct playlist *playlist)
return playlist ? playlist_iter_index(playlist, playlist->pl_current) : -1; return playlist ? playlist_iter_index(playlist, playlist->pl_current) : -1;
} }
/* Called to find the nth track on a playlist. */
static inline struct track *playlist_at(struct playlist *playlist, unsigned int n)
{
return playlist_iter_track(playlist_iter_get(playlist, n));
}
#endif /* OCARINA_CORE_PLAYLISTS_ITERATOR_H */ #endif /* OCARINA_CORE_PLAYLISTS_ITERATOR_H */

View File

@ -37,11 +37,4 @@ void queue_init(struct queue *, const struct queue_ops *, void *);
/* Called to deinitialize a queue. */ /* Called to deinitialize a queue. */
void queue_deinit(struct queue *); void queue_deinit(struct queue *);
/* Called to access the queued track at a given index. */
static inline struct track *queue_at(struct queue *queue, unsigned int index)
{
return (struct track *)g_queue_peek_nth(&queue->q_tracks, index);
}
#endif /* OCARINA_CORE_QUEUE_H */ #endif /* OCARINA_CORE_QUEUE_H */

View File

@ -131,7 +131,7 @@ static void test_playback()
static void test_next() static void test_next()
{ {
struct queue *history_q = &playlist_lookup(PL_SYSTEM, "History")->pl_queue; struct playlist *history = playlist_lookup(PL_SYSTEM, "History");
int i; int i;
state_count = 0; state_count = 0;
@ -146,7 +146,7 @@ static void test_next()
g_assert_cmpuint(audio_next()->tr_track, ==, track_get(i)->tr_track); g_assert_cmpuint(audio_next()->tr_track, ==, track_get(i)->tr_track);
else /* Simulate an error. */ else /* Simulate an error. */
test_send_error(); test_send_error();
g_assert(queue_at(history_q, 0) == track_get(i)); g_assert(playlist_at(history, 0) == track_get(i));
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert(audio_cur_track() == track_get(i)); g_assert(audio_cur_track() == track_get(i));
} }
@ -160,7 +160,7 @@ static void test_next()
g_assert_cmpuint(audio_next()->tr_track, ==, i); g_assert_cmpuint(audio_next()->tr_track, ==, i);
else /* Simulate an error. */ else /* Simulate an error. */
test_send_error(); test_send_error();
g_assert_cmpuint(queue_at(history_q, 0)->tr_track, ==, i); g_assert_cmpuint(playlist_at(history, 0)->tr_track, ==, i);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, i); g_assert_cmpuint(audio_cur_track()->tr_track, ==, i);
} }
@ -169,37 +169,37 @@ static void test_next()
static void test_prev() static void test_prev()
{ {
struct queue *history_q = &playlist_lookup(PL_SYSTEM, "History")->pl_queue; struct playlist *history = playlist_lookup(PL_SYSTEM, "History");
struct track *track = queue_at(history_q, 0); struct track *track = playlist_at(history, 0);
state_count = 0; state_count = 0;
g_assert_cmpuint(audio_prev()->tr_track, ==, 2); g_assert_cmpuint(audio_prev()->tr_track, ==, 2);
g_assert(queue_at(history_q, 0) == track); g_assert(playlist_at(history, 0) == track);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 2); g_assert_cmpuint(audio_cur_track()->tr_track, ==, 2);
g_assert_cmpuint(state_count, ==, 1); g_assert_cmpuint(state_count, ==, 1);
g_assert_cmpuint(audio_prev()->tr_track, ==, 1); g_assert_cmpuint(audio_prev()->tr_track, ==, 1);
g_assert(queue_at(history_q, 0) == track); g_assert(playlist_at(history, 0) == track);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 1); g_assert_cmpuint(audio_cur_track()->tr_track, ==, 1);
g_assert_cmpuint(state_count, ==, 2); g_assert_cmpuint(state_count, ==, 2);
g_assert_true(audio_pause()); g_assert_true(audio_pause());
g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(0)->tr_track); g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(0)->tr_track);
g_assert(queue_at(history_q, 0) == track); g_assert(playlist_at(history, 0) == track);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(0)->tr_track); g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(0)->tr_track);
g_assert_cmpuint(state_count, ==, 4); g_assert_cmpuint(state_count, ==, 4);
g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(1)->tr_track); g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(1)->tr_track);
g_assert(queue_at(history_q, 0) == track); g_assert(playlist_at(history, 0) == track);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(1)->tr_track); g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(1)->tr_track);
g_assert_cmpuint(state_count, ==, 5); g_assert_cmpuint(state_count, ==, 5);
g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(2)->tr_track); g_assert_cmpuint(audio_prev()->tr_track, ==, track_get(2)->tr_track);
g_assert(queue_at(history_q, 0) == track); g_assert(playlist_at(history, 0) == track);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(2)->tr_track); g_assert_cmpuint(audio_cur_track()->tr_track, ==, track_get(2)->tr_track);
g_assert_cmpuint(state_count, ==, 6); g_assert_cmpuint(state_count, ==, 6);
@ -207,7 +207,7 @@ static void test_prev()
void test_autopause() void test_autopause()
{ {
struct queue *history_q = &playlist_lookup(PL_SYSTEM, "History")->pl_queue; struct playlist *history = playlist_lookup(PL_SYSTEM, "History");
int i; int i;
audio_pause_after(3); audio_pause_after(3);
@ -225,7 +225,7 @@ void test_autopause()
audio_eos(); audio_eos();
g_assert_cmpuint(pause_count, ==, i); g_assert_cmpuint(pause_count, ==, i);
g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING); g_assert_cmpuint(audio_cur_state(), ==, GST_STATE_PLAYING);
g_assert(queue_at(history_q, 0) == audio_cur_track()); g_assert(playlist_at(history, 0) == audio_cur_track());
} }
g_assert_cmpuint(state_count, ==, 5); g_assert_cmpuint(state_count, ==, 5);

View File

@ -72,6 +72,7 @@ static void test_null()
g_assert_false(playlist_generic_add(NULL, NULL)); g_assert_false(playlist_generic_add(NULL, NULL));
g_assert_false(playlist_generic_add_front(NULL, NULL)); g_assert_false(playlist_generic_add_front(NULL, NULL));
g_assert_false(playlist_generic_remove(NULL, NULL)); g_assert_false(playlist_generic_remove(NULL, NULL));
g_assert_null(playlist_at(NULL, 0));
playlist_generic_update(NULL, NULL); playlist_generic_update(NULL, NULL);
playlist_generic_clear(NULL); playlist_generic_clear(NULL);
@ -152,6 +153,7 @@ static void test_playlist()
g_assert_true( playlist_add(&p, track_get(i))); g_assert_true( playlist_add(&p, track_get(i)));
g_assert_false(playlist_add(&p, track_get(i))); g_assert_false(playlist_add(&p, track_get(i)));
g_assert_true(playlist_has(&p, track_get(i))); g_assert_true(playlist_has(&p, track_get(i)));
g_assert(playlist_at(&p, i) == track_get(i));
g_assert_cmpuint(p.pl_length, ==, ex_length); g_assert_cmpuint(p.pl_length, ==, ex_length);
g_assert_cmpuint(playlist_size(&p), ==, i + 1); g_assert_cmpuint(playlist_size(&p), ==, i + 1);
g_assert(cb_playlist == &p); g_assert(cb_playlist == &p);
@ -204,7 +206,7 @@ static void test_sorting()
g_assert(cb_playlist == &p); g_assert(cb_playlist == &p);
g_assert_null(cb_track); g_assert_null(cb_track);
for (i = 0; i < 13; i++) { for (i = 0; i < 13; i++) {
track = queue_at(&p.pl_queue, i); track = playlist_at(&p, i);
g_assert_cmpuint(track->tr_track, ==, i + 1); g_assert_cmpuint(track->tr_track, ==, i + 1);
} }
@ -213,13 +215,13 @@ static void test_sorting()
g_assert_true(playlist_sort(&p, COMPARE_COUNT)); g_assert_true(playlist_sort(&p, COMPARE_COUNT));
for (i = 0; i < 13; i++) { for (i = 0; i < 13; i++) {
track = queue_at(&p.pl_queue, i); track = playlist_at(&p, i);
g_assert_cmpuint(track->tr_count, ==, (i < 6) ? 2 : 4); g_assert_cmpuint(track->tr_count, ==, (i < 6) ? 2 : 4);
} }
g_assert_true(playlist_sort(&p, COMPARE_TRACK)); g_assert_true(playlist_sort(&p, COMPARE_TRACK));
for (i = 0; i < 13; i++) { for (i = 0; i < 13; i++) {
track = queue_at(&p.pl_queue, i); track = playlist_at(&p, i);
g_assert_cmpuint(track->tr_count, ==, (i < 6) ? 2 : 4); g_assert_cmpuint(track->tr_count, ==, (i < 6) ? 2 : 4);
if (i < 6) if (i < 6)
g_assert_cmpuint(track->tr_track, ==, (i + 1) * 2); g_assert_cmpuint(track->tr_track, ==, (i + 1) * 2);
@ -229,7 +231,7 @@ static void test_sorting()
g_assert_true(playlist_sort(&p, COMPARE_COUNT)); g_assert_true(playlist_sort(&p, COMPARE_COUNT));
for (i = 0; i < 13; i++) { for (i = 0; i < 13; i++) {
track = queue_at(&p.pl_queue, i); track = playlist_at(&p, i);
g_assert_cmpuint(track->tr_count, ==, (i < 7) ? 4 : 2); g_assert_cmpuint(track->tr_count, ==, (i < 7) ? 4 : 2);
if (i < 7) if (i < 7)
g_assert_cmpuint(track->tr_track, ==, (2 * i) + 1); g_assert_cmpuint(track->tr_track, ==, (2 * i) + 1);
@ -248,7 +250,7 @@ static void test_sorting()
g_assert_false(playlist_add(&p, track_get(i))); g_assert_false(playlist_add(&p, track_get(i)));
} }
for (i = 0; i < 13; i++) for (i = 0; i < 13; i++)
g_assert_cmpuint(queue_at(&p.pl_queue, i)->tr_track, ==, 13 - i); g_assert_cmpuint(playlist_at(&p, i)->tr_track, ==, 13 - i);
/* Deinitialize the playlist. */ /* Deinitialize the playlist. */
playlist_generic_deinit(&p); playlist_generic_deinit(&p);
@ -340,7 +342,7 @@ static void test_save_load()
g_assert_false(s.pl_random); g_assert_false(s.pl_random);
g_assert_cmpuint(playlist_current_index(&s), ==, 4); g_assert_cmpuint(playlist_current_index(&s), ==, 4);
g_assert(playlist_current_track(&s) == queue_at(&q.pl_queue, 4)); g_assert(playlist_current_track(&s) == playlist_at(&q, 4));
g_assert_cmpuint(g_slist_length(s.pl_sort), ==, 0); g_assert_cmpuint(g_slist_length(s.pl_sort), ==, 0);
g_assert_cmpuint(playlist_size(&s), ==, 13); g_assert_cmpuint(playlist_size(&s), ==, 13);