diff --git a/gui/audio.c b/gui/audio.c
index cfa1cc02..b2e565a6 100644
--- a/gui/audio.c
+++ b/gui/audio.c
@@ -92,6 +92,16 @@ void __gui_audio_pause_changed(GtkComboBox *combo, gpointer data)
audio_pause_after(gtk_combo_box_get_active(combo) - 1);
}
+void __gui_audio_pause_inc(GtkButton *button, gpointer data)
+{
+ audio_pause_after(audio_get_pause_count() + 1);
+}
+
+void __gui_audio_pause_dec(GtkButton *button, gpointer data)
+{
+ audio_pause_after(audio_get_pause_count() - 1);
+}
+
void __gui_audio_seek(GtkRange *range, GtkScrollType type,
double value, gpointer data)
{
diff --git a/share/ocarina/ocarina.ui b/share/ocarina/ocarina.ui
index 90b1b591..c330c506 100644
--- a/share/ocarina/ocarina.ui
+++ b/share/ocarina/ocarina.ui
@@ -750,6 +750,7 @@ audio-volume-medium
False
False
True
+
+
+
@@ -772,6 +775,7 @@ audio-volume-medium
True
False
True
+
+
+
diff --git a/tests/gui/audio.c b/tests/gui/audio.c
index 01aa6fb2..dfc7e18b 100644
--- a/tests/gui/audio.c
+++ b/tests/gui/audio.c
@@ -85,6 +85,17 @@ static void test_audio_buttons()
gtk_button_clicked(gui_prev_button());
g_assert(audio_cur_track() == track_get(0));
+
+ g_assert_cmpint(audio_get_pause_count(), ==, -1);
+ gtk_button_clicked(gui_pause_up());
+ g_assert_cmpint(audio_get_pause_count(), ==, 0);
+ gtk_button_clicked(gui_pause_up());
+ g_assert_cmpint(audio_get_pause_count(), ==, 1);
+ gtk_button_clicked(gui_pause_down());
+ g_assert_cmpint(audio_get_pause_count(), ==, 0);
+ gtk_button_clicked(gui_pause_down());
+ g_assert_cmpint(audio_get_pause_count(), ==, -1);
+
gtk_combo_box_set_active(GTK_COMBO_BOX(gui_pause_after()), 3);
g_assert_cmpstr(gtk_entry_get_text(gui_pause_entry()), ==, "Pause after 2 tracks");
g_assert_true(gtk_widget_get_sensitive(GTK_WIDGET(gui_pause_down())));