summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-09-08 19:20:47 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-09-08 19:58:40 +0200
commitd8b85e164868053bd636cf0d0e07dffc52d2ab35 (patch)
treeeb4493141c398bdea2ddd276acebf21c048a43f8
parentb9677e54026d981285fc7d6417c7f47f7e054d86 (diff)
pre-0.2.0 fixed; added help window
-rw-r--r--Makefile.am7
-rw-r--r--callbacks.c35
-rw-r--r--callbacks.h4
-rw-r--r--configure.in2
-rw-r--r--deadbeef.glade83
-rw-r--r--help.txt46
-rw-r--r--interface.c109
-rw-r--r--interface.h1
-rw-r--r--plugins/flac/flac.c2
-rw-r--r--plugins/mpgmad/mpgmad.c2
10 files changed, 249 insertions, 42 deletions
diff --git a/Makefile.am b/Makefile.am
index 696a8833..2be8cf35 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@ bin_PROGRAMS = deadbeef
deadbeef_SOURCES =\
main.c common.h deadbeef.h\
- plugins.c plugins.h\
+ plugins.c plugins.h moduleconf.h\
callbacks.c interface.c support.c callbacks.h interface.h support.h\
playlist.c playlist.h gtkplaylist.c gtkplaylist.h\
streamer.c streamer.h\
@@ -37,7 +37,8 @@ deadbeef_SOURCES =\
volume.c volume.h\
drawing.h gdkdrawing.c\
session.h session.c gtksession.c\
- junklib.h junklib.c utf8.c utf8.h
+ junklib.h junklib.c utf8.c utf8.h\
+ optmath.h
sdkdir = $(pkgincludedir)
sdk_HEADERS = deadbeef.h
@@ -49,7 +50,7 @@ AM_CPPFLAGS = $(DEPS_CFLAGS) -I$(sidpath)/libsidplay/include -I$(sidpath)/builde
docsdir = $(datadir)/doc/$(PACKAGE)
-docs_DATA = README COPYING config-example
+docs_DATA = README COPYING config-example help.txt
desktopdir = $(datadir)/applications
desktop_DATA = deadbeef.desktop
diff --git a/callbacks.c b/callbacks.c
index d49862f8..e04241e5 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -1216,3 +1216,38 @@ on_find_activate (GtkMenuItem *menuitem,
+
+void
+on_help1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ GtkWidget *widget = create_helpwindow ();
+ gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (mainwin));
+ GtkWidget *txt = lookup_widget (widget, "helptext");
+ GtkTextBuffer *buffer = gtk_text_buffer_new (NULL);
+
+ FILE *fp = fopen (PREFIX "/share/doc/deadbeef/help.txt", "rb");
+ if (fp) {
+ fseek (fp, 0, SEEK_END);
+ size_t s = ftell (fp);
+ rewind (fp);
+ char buf[s+1];
+ if (fread (buf, 1, s, fp) != s) {
+ fprintf (stderr, "error reading help file contents\n");
+ const char *error = "Failed while reading help file";
+ gtk_text_buffer_set_text (buffer, error, strlen (error));
+ }
+ else {
+ buf[s] = 0;
+ gtk_text_buffer_set_text (buffer, buf, s);
+ }
+ fclose (fp);
+ }
+ else {
+ const char *error = "Failed to load help file";
+ gtk_text_buffer_set_text (buffer, error, strlen (error));
+ }
+ gtk_text_view_set_buffer (GTK_TEXT_VIEW (txt), buffer);
+ gtk_widget_show (widget);
+}
+
diff --git a/callbacks.h b/callbacks.h
index 83be7329..31f122fd 100644
--- a/callbacks.h
+++ b/callbacks.h
@@ -525,3 +525,7 @@ void
on_find_activate (GtkMenuItem *menuitem,
gpointer user_data);
+
+void
+on_help1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
diff --git a/configure.in b/configure.in
index 1cab9bba..80fe286c 100644
--- a/configure.in
+++ b/configure.in
@@ -3,7 +3,7 @@ AC_INIT
AC_CONFIG_HEADER(config.h)
PACKAGE="deadbeef"
-VERSION="0.2.0-rc2"
+VERSION="0.2.0"
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
diff --git a/deadbeef.glade b/deadbeef.glade
index fde03127..efa95e95 100644
--- a/deadbeef.glade
+++ b/deadbeef.glade
@@ -56,7 +56,7 @@
<accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image35">
+ <widget class="GtkImage" id="image46">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -83,7 +83,7 @@
<signal name="activate" handler="on_add_files_activate" last_modification_time="Sat, 04 Jul 2009 13:04:01 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image36">
+ <widget class="GtkImage" id="image47">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -104,7 +104,7 @@
<signal name="activate" handler="on_add_folders_activate" last_modification_time="Sun, 06 Sep 2009 17:51:40 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image37">
+ <widget class="GtkImage" id="image48">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -132,7 +132,7 @@
<accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image38">
+ <widget class="GtkImage" id="image49">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -166,7 +166,7 @@
<signal name="activate" handler="on_clear1_activate" last_modification_time="Sun, 06 Sep 2009 18:30:03 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image39">
+ <widget class="GtkImage" id="image50">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -207,7 +207,7 @@
<accelerator key="Delete" modifiers="0" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image40">
+ <widget class="GtkImage" id="image51">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -404,6 +404,27 @@
<signal name="activate" handler="on_about1_activate" last_modification_time="Sat, 04 Jul 2009 12:57:58 GMT"/>
</widget>
</child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="help1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Help</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_help1_activate" last_modification_time="Tue, 08 Sep 2009 17:32:06 GMT"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image52">
+ <property name="visible">True</property>
+ <property name="stock">gtk-help</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -1106,4 +1127,54 @@ Stas &quot;uncle lag&quot; Akimushkin &lt;uncle.lag@gmail.com&gt;</property>
</child>
</widget>
+<widget class="GtkWindow" id="helpwindow">
+ <property name="width_request">600</property>
+ <property name="height_request">400</property>
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Help</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">True</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTextView" id="helptext">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="overwrite">False</property>
+ <property name="accepts_tab">True</property>
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
+ <property name="cursor_visible">True</property>
+ <property name="pixels_above_lines">0</property>
+ <property name="pixels_below_lines">0</property>
+ <property name="pixels_inside_wrap">0</property>
+ <property name="left_margin">10</property>
+ <property name="right_margin">10</property>
+ <property name="indent">0</property>
+ <property name="text" translatable="yes"></property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
diff --git a/help.txt b/help.txt
new file mode 100644
index 00000000..818b3943
--- /dev/null
+++ b/help.txt
@@ -0,0 +1,46 @@
+help file for deadbeef player
+
+CONFIGURATION
+
+currently there's no gui for configuration.
+there is one config file for player core, and separate file per plugin.
+
+MAIN CONFIG FILE
+
+example is located in PREFIX/share/doc/deadbeef/config-example
+copy it into $HOME/.config/deadbeef/config, and modify according to your needs.
+
+HOTKEYS PLUGIN CONFIGURATION
+
+create file in $HOME/.config/deadbeef/hotkeys
+syntax is following:
+
+<key_combination>: <action>
+
+some examples:
+
+Ctrl Alt c: toggle_pause
+Ctrl Alt z: prev
+Ctrl Alt b: next
+Ctrl Alt v: stop
+Ctrl Alt x: play
+Ctrl Alt n: play_random
+
+full list of actions:
+
+toggle_pause, play, prev, next, stop, play_random, seek_fwd, seek_back, volume_up, volume_down
+
+LAST.FM PLUGIN CONFIGURATION
+
+create file in $HOME/.config/deadbeef/lastfm
+
+file must have 2 lines:
+your_lastfm_login
+your_lastfm_password
+
+you can see if it works by looking at lastfm profile page after you start playing music (it should say something like "now playing with DeaDBeeF")
+
+also note, that it's subject to last.fm policy to submit songs under certain rules.
+songs without at least Artist and Title tags will not be submitted.
+
+
diff --git a/interface.c b/interface.c
index f26fb925..3b94eb04 100644
--- a/interface.c
+++ b/interface.c
@@ -35,24 +35,24 @@ create_mainwin (void)
GtkWidget *menuitem1;
GtkWidget *menuitem1_menu;
GtkWidget *open;
- GtkWidget *image35;
+ GtkWidget *image46;
GtkWidget *separator2;
GtkWidget *add_files;
- GtkWidget *image36;
+ GtkWidget *image47;
GtkWidget *add_folders;
- GtkWidget *image37;
+ GtkWidget *image48;
GtkWidget *separatormenuitem1;
GtkWidget *quit;
- GtkWidget *image38;
+ GtkWidget *image49;
GtkWidget *edit1;
GtkWidget *edit1_menu;
GtkWidget *clear1;
- GtkWidget *image39;
+ GtkWidget *image50;
GtkWidget *select_all1;
GtkWidget *selection1;
GtkWidget *selection1_menu;
GtkWidget *remove1;
- GtkWidget *image40;
+ GtkWidget *image51;
GtkWidget *crop1;
GtkWidget *find1;
GtkWidget *playlist1;
@@ -76,6 +76,8 @@ create_mainwin (void)
GtkWidget *menuitem4;
GtkWidget *menuitem4_menu;
GtkWidget *about1;
+ GtkWidget *help1;
+ GtkWidget *image52;
GtkWidget *hbox2;
GtkWidget *hbox3;
GtkWidget *stopbtn;
@@ -129,9 +131,9 @@ create_mainwin (void)
GDK_O, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image35 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image35);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image35);
+ image46 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image46);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image46);
separator2 = gtk_separator_menu_item_new ();
gtk_widget_show (separator2);
@@ -142,17 +144,17 @@ create_mainwin (void)
gtk_widget_show (add_files);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_files);
- image36 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image36);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image36);
+ image47 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image47);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image47);
add_folders = gtk_image_menu_item_new_with_mnemonic ("Add folder(s)");
gtk_widget_show (add_folders);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_folders);
- image37 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image37);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image37);
+ image48 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image48);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image48);
separatormenuitem1 = gtk_separator_menu_item_new ();
gtk_widget_show (separatormenuitem1);
@@ -166,9 +168,9 @@ create_mainwin (void)
GDK_Q, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image38 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image38);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image38);
+ image49 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image49);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image49);
edit1 = gtk_menu_item_new_with_mnemonic ("Edit");
gtk_widget_show (edit1);
@@ -181,9 +183,9 @@ create_mainwin (void)
gtk_widget_show (clear1);
gtk_container_add (GTK_CONTAINER (edit1_menu), clear1);
- image39 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image39);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image39);
+ image50 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image50);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image50);
select_all1 = gtk_menu_item_new_with_mnemonic ("Select all");
gtk_widget_show (select_all1);
@@ -206,9 +208,9 @@ create_mainwin (void)
GDK_Delete, (GdkModifierType) 0,
GTK_ACCEL_VISIBLE);
- image40 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image40);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image40);
+ image51 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image51);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image51);
crop1 = gtk_menu_item_new_with_mnemonic ("Crop");
gtk_widget_show (crop1);
@@ -306,6 +308,14 @@ create_mainwin (void)
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
+ help1 = gtk_image_menu_item_new_with_mnemonic ("Help");
+ gtk_widget_show (help1);
+ gtk_container_add (GTK_CONTAINER (menuitem4_menu), help1);
+
+ image52 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image52);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image52);
+
hbox2 = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox2);
gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, FALSE, 0);
@@ -507,6 +517,9 @@ create_mainwin (void)
g_signal_connect ((gpointer) about1, "activate",
G_CALLBACK (on_about1_activate),
NULL);
+ g_signal_connect ((gpointer) help1, "activate",
+ G_CALLBACK (on_help1_activate),
+ NULL);
g_signal_connect ((gpointer) stopbtn, "clicked",
G_CALLBACK (on_stopbtn_clicked),
NULL);
@@ -635,24 +648,24 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem1, "menuitem1");
GLADE_HOOKUP_OBJECT (mainwin, menuitem1_menu, "menuitem1_menu");
GLADE_HOOKUP_OBJECT (mainwin, open, "open");
- GLADE_HOOKUP_OBJECT (mainwin, image35, "image35");
+ GLADE_HOOKUP_OBJECT (mainwin, image46, "image46");
GLADE_HOOKUP_OBJECT (mainwin, separator2, "separator2");
GLADE_HOOKUP_OBJECT (mainwin, add_files, "add_files");
- GLADE_HOOKUP_OBJECT (mainwin, image36, "image36");
+ GLADE_HOOKUP_OBJECT (mainwin, image47, "image47");
GLADE_HOOKUP_OBJECT (mainwin, add_folders, "add_folders");
- GLADE_HOOKUP_OBJECT (mainwin, image37, "image37");
+ GLADE_HOOKUP_OBJECT (mainwin, image48, "image48");
GLADE_HOOKUP_OBJECT (mainwin, separatormenuitem1, "separatormenuitem1");
GLADE_HOOKUP_OBJECT (mainwin, quit, "quit");
- GLADE_HOOKUP_OBJECT (mainwin, image38, "image38");
+ GLADE_HOOKUP_OBJECT (mainwin, image49, "image49");
GLADE_HOOKUP_OBJECT (mainwin, edit1, "edit1");
GLADE_HOOKUP_OBJECT (mainwin, edit1_menu, "edit1_menu");
GLADE_HOOKUP_OBJECT (mainwin, clear1, "clear1");
- GLADE_HOOKUP_OBJECT (mainwin, image39, "image39");
+ GLADE_HOOKUP_OBJECT (mainwin, image50, "image50");
GLADE_HOOKUP_OBJECT (mainwin, select_all1, "select_all1");
GLADE_HOOKUP_OBJECT (mainwin, selection1, "selection1");
GLADE_HOOKUP_OBJECT (mainwin, selection1_menu, "selection1_menu");
GLADE_HOOKUP_OBJECT (mainwin, remove1, "remove1");
- GLADE_HOOKUP_OBJECT (mainwin, image40, "image40");
+ GLADE_HOOKUP_OBJECT (mainwin, image51, "image51");
GLADE_HOOKUP_OBJECT (mainwin, crop1, "crop1");
GLADE_HOOKUP_OBJECT (mainwin, find1, "find1");
GLADE_HOOKUP_OBJECT (mainwin, playlist1, "playlist1");
@@ -674,6 +687,8 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem4, "menuitem4");
GLADE_HOOKUP_OBJECT (mainwin, menuitem4_menu, "menuitem4_menu");
GLADE_HOOKUP_OBJECT (mainwin, about1, "about1");
+ GLADE_HOOKUP_OBJECT (mainwin, help1, "help1");
+ GLADE_HOOKUP_OBJECT (mainwin, image52, "image52");
GLADE_HOOKUP_OBJECT (mainwin, hbox2, "hbox2");
GLADE_HOOKUP_OBJECT (mainwin, hbox3, "hbox3");
GLADE_HOOKUP_OBJECT (mainwin, stopbtn, "stopbtn");
@@ -1017,3 +1032,37 @@ create_addprogress (void)
return addprogress;
}
+GtkWidget*
+create_helpwindow (void)
+{
+ GtkWidget *helpwindow;
+ GtkWidget *scrolledwindow1;
+ GtkWidget *helptext;
+
+ helpwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_size_request (helpwindow, 600, 400);
+ gtk_window_set_title (GTK_WINDOW (helpwindow), "Help");
+ gtk_window_set_modal (GTK_WINDOW (helpwindow), TRUE);
+ gtk_window_set_destroy_with_parent (GTK_WINDOW (helpwindow), TRUE);
+
+ scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow1);
+ gtk_container_add (GTK_CONTAINER (helpwindow), scrolledwindow1);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ helptext = gtk_text_view_new ();
+ gtk_widget_show (helptext);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow1), helptext);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (helptext), FALSE);
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (helptext), GTK_WRAP_WORD);
+ gtk_text_view_set_left_margin (GTK_TEXT_VIEW (helptext), 10);
+ gtk_text_view_set_right_margin (GTK_TEXT_VIEW (helptext), 10);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (helpwindow, helpwindow, "helpwindow");
+ GLADE_HOOKUP_OBJECT (helpwindow, scrolledwindow1, "scrolledwindow1");
+ GLADE_HOOKUP_OBJECT (helpwindow, helptext, "helptext");
+
+ return helpwindow;
+}
+
diff --git a/interface.h b/interface.h
index 943cf0fc..66e3a07a 100644
--- a/interface.h
+++ b/interface.h
@@ -7,3 +7,4 @@ GtkWidget* create_aboutdialog (void);
GtkWidget* create_searchwin (void);
GtkWidget* create_traymenu (void);
GtkWidget* create_addprogress (void);
+GtkWidget* create_helpwindow (void);
diff --git a/plugins/flac/flac.c b/plugins/flac/flac.c
index da28fa27..5188947e 100644
--- a/plugins/flac/flac.c
+++ b/plugins/flac/flac.c
@@ -19,7 +19,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <FLAC/stream_decoder.h>
-#include "deadbeef.h"
+#include "../../deadbeef.h"
static DB_decoder_t plugin;
static DB_functions_t *deadbeef;
diff --git a/plugins/mpgmad/mpgmad.c b/plugins/mpgmad/mpgmad.c
index b10762eb..74847f37 100644
--- a/plugins/mpgmad/mpgmad.c
+++ b/plugins/mpgmad/mpgmad.c
@@ -20,7 +20,7 @@
#include <mad.h>
#include <assert.h>
#include <stdlib.h>
-#include "deadbeef.h"
+#include "../../deadbeef.h"
#define min(x,y) ((x)<(y)?(x):(y))
#define max(x,y) ((x)>(y)?(x):(y))