You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(132) |
Dec
(135) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(87) |
Feb
(82) |
Mar
(117) |
Apr
(108) |
May
(231) |
Jun
(265) |
Jul
(31) |
Aug
(32) |
Sep
(89) |
Oct
(50) |
Nov
(112) |
Dec
(92) |
2007 |
Jan
(136) |
Feb
(82) |
Mar
(66) |
Apr
(104) |
May
(74) |
Jun
(103) |
Jul
(50) |
Aug
(23) |
Sep
(22) |
Oct
(39) |
Nov
(56) |
Dec
(88) |
2008 |
Jan
(51) |
Feb
(6) |
Mar
(6) |
Apr
(9) |
May
(39) |
Jun
(24) |
Jul
(48) |
Aug
(40) |
Sep
(9) |
Oct
(21) |
Nov
(12) |
Dec
(31) |
2009 |
Jan
(68) |
Feb
(14) |
Mar
(29) |
Apr
(40) |
May
(27) |
Jun
(9) |
Jul
(1) |
Aug
(10) |
Sep
(3) |
Oct
(7) |
Nov
(11) |
Dec
(165) |
2010 |
Jan
(72) |
Feb
(49) |
Mar
(30) |
Apr
(41) |
May
(17) |
Jun
(13) |
Jul
(99) |
Aug
(88) |
Sep
(59) |
Oct
(23) |
Nov
(11) |
Dec
(44) |
2011 |
Jan
(50) |
Feb
(28) |
Mar
(27) |
Apr
(18) |
May
(38) |
Jun
(5) |
Jul
(59) |
Aug
(7) |
Sep
(44) |
Oct
(12) |
Nov
(7) |
Dec
(10) |
2012 |
Jan
(8) |
Feb
(11) |
Mar
(17) |
Apr
(11) |
May
(3) |
Jun
(11) |
Jul
(26) |
Aug
(3) |
Sep
|
Oct
(17) |
Nov
(9) |
Dec
(1) |
2013 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:54
|
commit b40f2c2eb2611b5018eb1f5f61fa6a9a3217a118 Author: phantomjinx <p.g...@ph...> Date: Wed Jul 20 22:51:28 2011 +0100 Cover art display fixes for colors and updating * cover_display_preferences.c * display_coverart has transitioned to GdkRGBA while the preference dialog has not, producing some odd colours for the foreground text colour. * display_coverart.c * coverart_display_update never actually redrawing the cover display so a call to redraw is required. * no need to include a separate one in the sort function as a consequence * typo in coverart_get_foreground_display_color plugins/cover_display/cover_display_preferences.c | 40 +++++++++------------ plugins/cover_display/display_coverart.c | 9 ++++- 2 files changed, 24 insertions(+), 25 deletions(-) --- diff --git a/plugins/cover_display/cover_display_preferences.c b/plugins/cover_display/cover_display_preferences.c index c9a0bdb..bd48df0 100644 --- a/plugins/cover_display/cover_display_preferences.c +++ b/plugins/cover_display/cover_display_preferences.c @@ -38,15 +38,12 @@ */ G_MODULE_EXPORT void on_coverart_dialog_bg_color_set (GtkColorButton *widget, gpointer user_data) { - GdkColor color; - gtk_color_button_get_color (widget, &color); - gchar *hexstring = g_strdup_printf("#%02X%02X%02X", - color.red >> 8, - color.green >> 8, - color.blue >> 8); - - prefs_set_string ("coverart_display_bg_color", hexstring); - g_free (hexstring); + GdkRGBA color; + gtk_color_button_get_rgba (widget, &color); + gchar *color_string = gdk_rgba_to_string(&color); + + prefs_set_string ("coverart_display_bg_color", color_string); + g_free (color_string); coverart_display_update (FALSE); } @@ -55,15 +52,12 @@ G_MODULE_EXPORT void on_coverart_dialog_bg_color_set (GtkColorButton *widget, gp */ G_MODULE_EXPORT void on_coverart_dialog_fg_color_set (GtkColorButton *widget, gpointer user_data) { - GdkColor color; - gtk_color_button_get_color (widget, &color); - gchar *hexstring = g_strdup_printf("#%02X%02X%02X", - color.red >> 8, - color.green >> 8, - color.blue >> 8); - - prefs_set_string ("coverart_display_fg_color", hexstring); - g_free (hexstring); + GdkRGBA color; + gtk_color_button_get_rgba (widget, &color); + gchar *color_string = gdk_rgba_to_string(&color); + + prefs_set_string ("coverart_display_fg_color", color_string); + g_free (color_string); coverart_display_update (FALSE); } @@ -94,7 +88,7 @@ GtkWidget *init_cover_preferences(gchar *gladepath) { GtkWidget *coverart_bgcolorselect_button; GtkWidget *coverart_fgcolorselect_button; GtkWidget *w, *win; - GdkColor *color; + GdkRGBA *color; pref_xml = gtkpod_builder_xml_new(gladepath); win = gtkpod_builder_xml_get_widget(pref_xml, "preference_window"); @@ -105,12 +99,12 @@ GtkWidget *init_cover_preferences(gchar *gladepath) { gtk_container_remove(GTK_CONTAINER (win), notebook); color = coverart_get_background_display_color(); - gtk_color_button_set_color (GTK_COLOR_BUTTON(coverart_bgcolorselect_button), color); - g_free (color); + gtk_color_button_set_rgba (GTK_COLOR_BUTTON(coverart_bgcolorselect_button), color); + gdk_rgba_free(color); color = coverart_get_foreground_display_color(); - gtk_color_button_set_color (GTK_COLOR_BUTTON(coverart_fgcolorselect_button), color); - g_free (color); + gtk_color_button_set_rgba (GTK_COLOR_BUTTON(coverart_fgcolorselect_button), color); + gdk_rgba_free(color); switch (prefs_get_int("cad_sort")) { case SORT_ASCENDING: diff --git a/plugins/cover_display/display_coverart.c b/plugins/cover_display/display_coverart.c index 019839b..ffde61c 100644 --- a/plugins/cover_display/display_coverart.c +++ b/plugins/cover_display/display_coverart.c @@ -590,6 +590,12 @@ void coverart_display_update(gboolean clear_track_list) { set_slider_range(0); else set_slider_range(cdwidget->first_imgindex); + + /* + * The slider range is blocked from initiating a redraw so + * do it manually here + */ + redraw(clear_track_list); } /** @@ -600,7 +606,6 @@ void coverart_display_update(gboolean clear_track_list) { void coverart_display_sort(gint order) { prefs_set_int("cad_sort", order); coverart_display_update(TRUE); - redraw(FALSE); gtkpod_broadcast_preference_change("cad_sort", order); } @@ -1699,7 +1704,7 @@ GdkRGBA *coverart_get_foreground_display_color() { if (album_key_list == NULL) hex_string = "#000000"; - else if (!prefs_get_string_value("coverart_display_bg_color", NULL)) + else if (!prefs_get_string_value("coverart_display_fg_color", NULL)) hex_string = "#FFFFFF"; else prefs_get_string_value("coverart_display_fg_color", &hex_string); |
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:47
|
commit d0a4338d87a82947f4eadda535f822378bcf0303 Author: phantomjinx <p.g...@ph...> Date: Wed Jul 20 21:27:44 2011 +0100 Ignore eclipse autotools config file .gitignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) --- diff --git a/.gitignore b/.gitignore index 1e85c59..e4582c5 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ version /.anjuta* /.cdtproject /.project +/.autotools /.settings /CMakeLists.txt.user /aclocal.m4 |
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:41
|
commit f225c123c0e0a14626ba3e46cc1014867839bd31 Author: phantomjinx <p.g...@ph...> Date: Wed Jul 20 21:26:51 2011 +0100 Stop volume property warning when media player loaded * On starting, an error concerning volume_adjustment is logged. Resaving the gtkbuilder file with glade-3 solves this. plugins/media_player/media_player.xml | 64 ++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 16 deletions(-) --- diff --git a/plugins/media_player/media_player.xml b/plugins/media_player/media_player.xml index 99b06cb..54c064f 100644 --- a/plugins/media_player/media_player.xml +++ b/plugins/media_player/media_player.xml @@ -1,34 +1,40 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <interface> <requires lib="gtk+" version="2.16"/> - <!-- interface-naming-policy toplevel-contextual --> <object class="GtkWindow" id="media_window"> + <property name="can_focus">False</property> <property name="window_position">mouse</property> <child> <object class="GtkVBox" id="media_panel"> <property name="visible">True</property> - <property name="orientation">vertical</property> + <property name="can_focus">False</property> <child> <object class="GtkHBox" id="song_label_box"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="spacing">10</property> <child> <object class="GtkLabel" id="song_label"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="xalign">0</property> <property name="xpad">6</property> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkLabel" id="song_time_label"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label">00:00:00</property> </object> <packing> <property name="expand">False</property> + <property name="fill">True</property> <property name="padding">5</property> <property name="pack_type">end</property> <property name="position">1</property> @@ -37,6 +43,7 @@ </object> <packing> <property name="expand">False</property> + <property name="fill">True</property> <property name="padding">5</property> <property name="position">0</property> </packing> @@ -44,21 +51,27 @@ <child> <object class="GtkHBox" id="media_toolbar"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="spacing">30</property> <child> <object class="GtkHBox" id="button_box"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="homogeneous">True</property> <child> <object class="GtkToolButton" id="previous_button"> <property name="width_request">35</property> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Previous</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-previous</property> - <signal name="clicked" handler="on_previous_button_clicked_cb"/> + <signal name="clicked" handler="on_previous_button_clicked_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">0</property> </packing> </child> @@ -66,36 +79,48 @@ <object class="GtkToolButton" id="play_button"> <property name="width_request">35</property> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Play</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-play</property> - <signal name="clicked" handler="on_play_button_clicked_cb"/> + <signal name="clicked" handler="on_play_button_clicked_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkToolButton" id="stop_button"> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Stop</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-stop</property> - <signal name="clicked" handler="on_stop_button_clicked_cb"/> + <signal name="clicked" handler="on_stop_button_clicked_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">2</property> </packing> </child> <child> <object class="GtkToolButton" id="next_button"> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Next</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-next</property> - <signal name="clicked" handler="on_next_button_clicked_cb"/> + <signal name="clicked" handler="on_next_button_clicked_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">3</property> </packing> </child> @@ -114,23 +139,30 @@ <property name="digits">0</property> <property name="draw_value">False</property> <property name="value_pos">left</property> - <signal name="change_value" handler="on_song_scale_change_value_cb"/> + <signal name="change-value" handler="on_song_scale_change_value_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkHBox" id="volume_box"> <property name="visible">True</property> + <property name="can_focus">False</property> <child> <object class="GtkToolButton" id="volume_button"> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Volume</property> <property name="stock_id">media_player-volume-control-icon</property> - <signal name="clicked" handler="on_volume_button_clicked_cb"/> + <signal name="clicked" handler="on_volume_button_clicked_cb" swapped="no"/> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">0</property> </packing> </child> @@ -151,9 +183,16 @@ </object> </child> </object> + <object class="GtkAdjustment" id="volume_adjustment"> + <property name="upper">10</property> + <property name="value">5</property> + <property name="step_increment">1</property> + <property name="page_increment">2</property> + </object> <object class="GtkWindow" id="volume_window"> <property name="width_request">30</property> <property name="height_request">150</property> + <property name="can_focus">False</property> <property name="resizable">False</property> <property name="window_position">mouse</property> <property name="default_width">20</property> @@ -171,7 +210,6 @@ <property name="can_focus">True</property> <property name="is_focus">True</property> <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK</property> - <property name="orientation">vertical</property> <property name="adjustment">volume_adjustment</property> <property name="inverted">True</property> <property name="lower_stepper_sensitivity">off</property> @@ -182,10 +220,4 @@ </object> </child> </object> - <object class="GtkAdjustment" id="volume_adjustment"> - <property name="value">5</property> - <property name="upper">10</property> - <property name="step_increment">1</property> - <property name="page_increment">2</property> - </object> </interface> |
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:34
|
commit 30b25c4ee612261c00d75f756e9b6bfcdbdd2d0d Author: phantomjinx <p.g...@ph...> Date: Wed Jul 20 21:25:41 2011 +0100 Fix to address compilation error in macport * Error identified by Ryan Stonecipher and patch provided by teuf. * Thanks to both. libgtkpod/gtkpod_app_iface.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- diff --git a/libgtkpod/gtkpod_app_iface.h b/libgtkpod/gtkpod_app_iface.h index fb4906f..afb67a5 100644 --- a/libgtkpod/gtkpod_app_iface.h +++ b/libgtkpod/gtkpod_app_iface.h @@ -80,7 +80,7 @@ typedef enum { } CONF_STATE; /* predefined IDs for use with gtkpod_confirmation() */ -enum { +typedef enum { CONF_ID_IPOD_DIR = 0, CONF_ID_GTKPOD_WARNING, CONF_ID_DANGLING0, |
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:28
|
commit fc5504c98fdad668f5f280eee1e01a978820dd87 Author: phantomjinx <p.g...@ph...> Date: Sun Jul 17 19:53:26 2011 +0100 Fixes cover art preference stretching * Radio buttons in the coverart display preferences are stretching when the dialog is resized. This corrects this behaviour. plugins/cover_display/cover_display.xml | 215 +++++++++++++++++++------------ 1 files changed, 131 insertions(+), 84 deletions(-) --- diff --git a/plugins/cover_display/cover_display.xml b/plugins/cover_display/cover_display.xml index afb6aec..85af7b5 100644 --- a/plugins/cover_display/cover_display.xml +++ b/plugins/cover_display/cover_display.xml @@ -1,53 +1,102 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <interface> <requires lib="gtk+" version="2.16"/> - <!-- interface-naming-policy toplevel-contextual --> - <object class="GtkDialog" id="coverart_preview_dialog"> - <property name="title" translatable="yes">Artwork Preview</property> - <property name="modal">True</property> - <property name="window_position">center-on-parent</property> - <property name="icon_name">gtk-dialog-info</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> - <object class="GtkVBox" id="dialog-vbox4"> + <object class="GtkWindow" id="cover_display_window"> + <property name="can_focus">False</property> + <child> + <object class="GtkVBox" id="cover_display_panel"> <property name="visible">True</property> - <property name="orientation">vertical</property> + <property name="can_focus">False</property> <child> - <object class="GtkVBox" id="coverart_preview_dialog_vbox"> + <object class="GtkHBox" id="cover_display_canvasbox"> <property name="visible">True</property> - <property name="orientation">vertical</property> + <property name="can_focus">False</property> <child> - <object class="GtkDrawingArea" id="coverart_preview_dialog_drawarea"> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="cover_display_controlbox"> + <property name="height_request">25</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">2</property> + <child> + <object class="GtkButton" id="cover_display_leftbutton"> + <property name="label" translatable="yes"><</property> <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <property name="relief">none</property> </object> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkLabel" id="coverart_preview_dialog_res_lbl"> + <object class="GtkHScale" id="cover_display_scaler"> <property name="visible">True</property> - <property name="ypad">6</property> - <property name="label"><b>Placeholder for image information</b></property> - <property name="use_markup">True</property> - <property name="justify">center</property> - <property name="wrap">True</property> + <property name="can_focus">True</property> + <property name="digits">0</property> + <property name="draw_value">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cover_display_rightbutton"> + <property name="label" translatable="yes">></property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <property name="relief">none</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="pack_type">end</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </object> <packing> - <property name="position">2</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">1</property> </packing> </child> + </object> + </child> + </object> + <object class="GtkDialog" id="coverart_preview_dialog"> + <property name="can_focus">False</property> + <property name="title" translatable="yes">Artwork Preview</property> + <property name="modal">True</property> + <property name="window_position">center-on-parent</property> + <property name="icon_name">gtk-dialog-info</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> <child internal-child="action_area"> - <object class="GtkHButtonBox" id="dialog-action_area4"> + <object class="GtkButtonBox" id="dialog-action_area4"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="layout_style">end</property> <child> <object class="GtkButton" id="okbutton3"> @@ -56,6 +105,7 @@ <property name="can_focus">True</property> <property name="can_default">True</property> <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> <property name="use_stock">True</property> </object> <packing> @@ -67,88 +117,58 @@ </object> <packing> <property name="expand">False</property> + <property name="fill">True</property> <property name="pack_type">end</property> <property name="position">0</property> </packing> </child> - </object> - </child> - <action-widgets> - <action-widget response="-5">okbutton3</action-widget> - </action-widgets> - </object> - <object class="GtkWindow" id="cover_display_window"> - <child> - <object class="GtkVBox" id="cover_display_panel"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkHBox" id="cover_display_canvasbox"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="position">0</property> - </packing> - </child> <child> - <object class="GtkHBox" id="cover_display_controlbox"> - <property name="height_request">25</property> + <object class="GtkVBox" id="coverart_preview_dialog_vbox"> <property name="visible">True</property> - <property name="spacing">2</property> + <property name="can_focus">False</property> <child> - <object class="GtkButton" id="cover_display_leftbutton"> - <property name="label" translatable="yes"><</property> + <object class="GtkDrawingArea" id="coverart_preview_dialog_drawarea"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="relief">none</property> + <property name="can_focus">False</property> </object> <packing> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkHScale" id="cover_display_scaler"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="digits">0</property> - <property name="draw_value">False</property> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="cover_display_rightbutton"> - <property name="label" translatable="yes">></property> + <object class="GtkLabel" id="coverart_preview_dialog_res_lbl"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="relief">none</property> + <property name="can_focus">False</property> + <property name="ypad">6</property> + <property name="label"><b>Placeholder for image information</b></property> + <property name="use_markup">True</property> + <property name="justify">center</property> + <property name="wrap">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">2</property> + <property name="pack_type">end</property> + <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> - <property name="fill">False</property> - <property name="pack_type">end</property> - <property name="position">1</property> + <property name="fill">True</property> + <property name="position">2</property> </packing> </child> </object> </child> + <action-widgets> + <action-widget response="-5">okbutton3</action-widget> + </action-widgets> </object> <object class="GtkWindow" id="preference_window"> + <property name="can_focus">False</property> <child> <object class="GtkNotebook" id="cover_settings_notebook"> <property name="visible">True</property> @@ -156,31 +176,35 @@ <child> <object class="GtkVBox" id="vbox5"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="border_width">12</property> - <property name="orientation">vertical</property> <property name="spacing">18</property> <child> <object class="GtkFrame" id="frame15"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> <object class="GtkAlignment" id="alignment29"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="top_padding">6</property> <property name="left_padding">12</property> <child> <object class="GtkHBox" id="hbox214"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkColorButton" id="coverart_display_bg_button"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> <property name="title" translatable="yes">Choose a Different Colour for the CoverArt Display Background</property> <property name="color">#000000000000</property> - <signal name="color_set" handler="on_coverart_dialog_bg_color_set"/> + <signal name="color-set" handler="on_coverart_dialog_bg_color_set" swapped="no"/> </object> <packing> <property name="expand">False</property> @@ -191,6 +215,7 @@ <child> <object class="GtkLabel" id="label472"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label" translatable="yes">Background color</property> </object> <packing> @@ -204,9 +229,10 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> <property name="title" translatable="yes">Choose a Different Colour for the CoverArt Display Background</property> <property name="color">#ffffffffffff</property> - <signal name="color_set" handler="on_coverart_dialog_fg_color_set"/> + <signal name="color-set" handler="on_coverart_dialog_fg_color_set" swapped="no"/> </object> <packing> <property name="expand">False</property> @@ -217,6 +243,7 @@ <child> <object class="GtkLabel" id="label50"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label" translatable="yes">Text color</property> </object> <packing> @@ -232,6 +259,7 @@ <child type="label"> <object class="GtkLabel" id="label18"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label" translatable="yes"><b>Cover Art Display</b></property> <property name="use_markup">True</property> </object> @@ -246,24 +274,29 @@ <child> <object class="GtkFrame" id="frame4"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> <object class="GtkAlignment" id="alignment14"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="top_padding">6</property> <property name="left_padding">12</property> <child> <object class="GtkVBox" id="vbox2"> <property name="visible">True</property> - <property name="orientation">vertical</property> + <property name="can_focus">False</property> + <property name="valign">start</property> <property name="spacing">10</property> <child> <object class="GtkHBox" id="hbox30"> <property name="visible">True</property> + <property name="can_focus">False</property> <child> <object class="GtkTable" id="table1"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="border_width">5</property> <property name="n_rows">2</property> <property name="n_columns">3</property> @@ -298,12 +331,14 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> <property name="draw_indicator">True</property> <property name="group">cad_none</property> - <signal name="toggled" handler="on_cad_ascend_toggled"/> + <signal name="toggled" handler="on_cad_ascend_toggled" swapped="no"/> <child> <object class="GtkImage" id="image1928"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="stock">gtk-sort-ascending</property> </object> </child> @@ -321,12 +356,14 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> <property name="draw_indicator">True</property> <property name="group">cad_none</property> - <signal name="toggled" handler="on_cad_descend_toggled"/> + <signal name="toggled" handler="on_cad_descend_toggled" swapped="no"/> <child> <object class="GtkImage" id="image1929"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="stock">gtk-sort-descending</property> </object> </child> @@ -355,12 +392,14 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_cad_none_toggled"/> + <signal name="toggled" handler="on_cad_none_toggled" swapped="no"/> <child> <object class="GtkImage" id="image1930"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="stock">gtk-undo</property> </object> </child> @@ -373,11 +412,15 @@ </child> </object> <packing> + <property name="expand">True</property> + <property name="fill">True</property> <property name="position">0</property> </packing> </child> </object> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">0</property> </packing> </child> @@ -387,9 +430,10 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_cad_sort_case_sensitive_toggled"/> + <signal name="toggled" handler="on_cad_sort_case_sensitive_toggled" swapped="no"/> </object> <packing> <property name="expand">False</property> @@ -404,6 +448,7 @@ <child type="label"> <object class="GtkLabel" id="label7"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label" translatable="yes"><b>Album Cover Sort Order</b></property> <property name="use_markup">True</property> </object> @@ -411,6 +456,7 @@ </object> <packing> <property name="expand">False</property> + <property name="fill">True</property> <property name="position">1</property> </packing> </child> @@ -419,6 +465,7 @@ <child type="tab"> <object class="GtkLabel" id="display_page_label"> <property name="visible">True</property> + <property name="can_focus">False</property> <property name="label" translatable="yes">Cover Art Display</property> </object> <packing> |
From: phantomjinx <pha...@us...> - 2011-07-20 21:52:21
|
commit fcafb3ffeb6881b4390d1756769f84eae2a5cd16 Author: phantomjinx <p.g...@ph...> Date: Mon Jul 11 21:48:10 2011 +0100 Append LDFLAGS rather than replace them entirely * configure.ac * LDFLAGS should be appended to rather than replaced * Thanks to Samuli. configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- diff --git a/configure.ac b/configure.ac index 013729b..8261903 100644 --- a/configure.ac +++ b/configure.ac @@ -348,7 +348,7 @@ GTKPOD_CFLAGS="$CFLAGS" AC_SUBST(GTKPOD_CFLAGS) AC_SUBST(GTKPOD_LIBS) -LDFLAGS="-no-undefined -Wl,--as-needed" +LDFLAGS="$LDFLAGS -no-undefined -Wl,--as-needed" GTKPOD_PLUGIN_LDFLAGS="$LDFLAGS -module -avoid-version" AC_SUBST(GTKPOD_PLUGIN_LDFLAGS) |
From: Christophe F. <te...@us...> - 2011-07-07 20:05:08
|
commit 0c2ebb9645d38ff9db84bbdb34e9f13d463c6387 Author: Christophe Fergeau <te...@gn...> Date: Thu Jul 7 22:00:02 2011 +0200 fix inverted test in playcount check When testing whether parsing of playcount file succeeded or not, the condition was inverted, which means failure was reported when parsing succeeded. src/itdb_itunesdb.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c index 8e47c26..78d087f 100644 --- a/src/itdb_itunesdb.c +++ b/src/itdb_itunesdb.c @@ -3287,7 +3287,7 @@ itdb_parse_internal (Itdb_iTunesDB *itdb, gboolean compressed, GError **error) itdb_hash72_extract_hash_info (fimp->itdb->device, (guchar *)fimp->fcontents->contents, fimp->fcontents->length); - if (playcounts_init (fimp)) + if (!playcounts_init (fimp)) { g_warning ("Error parsing recent playcounts"); } |
From: Christophe F. <te...@us...> - 2011-07-07 20:04:59
|
commit 6ccb8a62a19e86c297f8ec741008fb1daf7c63ea Author: Christophe Fergeau <te...@gn...> Date: Thu Jul 7 21:59:22 2011 +0200 python: allow passing mountpoint to test program bindings/python/examples/play_with_ipod_api.py | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) --- diff --git a/bindings/python/examples/play_with_ipod_api.py b/bindings/python/examples/play_with_ipod_api.py index 4780f73..8bc367c 100755 --- a/bindings/python/examples/play_with_ipod_api.py +++ b/bindings/python/examples/play_with_ipod_api.py @@ -1,8 +1,9 @@ #!/usr/bin/python import gpod +import sys -db = gpod.Database() +db = gpod.Database(sys.argv[1]) print db |
From: Christophe F. <te...@us...> - 2011-07-07 20:04:52
|
commit 8b0ddffbe5695469a10585e53724591011f7dcb0 Author: Christophe Fergeau <te...@gn...> Date: Thu Jul 7 21:16:50 2011 +0200 python: fix python binding build It was still using LIBGPOD_MAJOR_VERSION, LIBGPOD_MINOR_VERSION and LIBGPOD_MICRO_VERSION, which are replaced by PACKAGE_VERSION Reported by Götz Waschk <goe...@gm...> bindings/python/gpod.i.in | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) --- diff --git a/bindings/python/gpod.i.in b/bindings/python/gpod.i.in index 1b5d5f5..6d62e84 100644 --- a/bindings/python/gpod.i.in +++ b/bindings/python/gpod.i.in @@ -39,10 +39,8 @@ interface." %enddef %pythoncode %{ -version_info = (@LIBGPOD_MAJOR_VERSION@, - @LIBGPOD_MINOR_VERSION@, - @LIBGPOD_MICRO_VERSION@) -version = '.'.join(map(str, version_info)) +version = "@PACKAGE_VERSION@" +version_info = version.split(".") %} %module(docstring=DOCSTRING) gpod |
From: Christophe F. <te...@us...> - 2011-07-07 20:04:46
|
commit 8b3f2608978936ea3f9c1588d153dab091239950 Author: Christian Krause <ch...@pl...> Date: Mon May 2 01:24:40 2011 +0200 fix parsing of SysInfoExtended for nano 6g The attached patch fixes an issue when parsing SysInfoExtended on iPod nano gen. 6 devices: Apparently they have now two tags for the following lists: AlbumArt (and AlbumArt2) ImageSpecifications (and ImageSpecifications2) ChapterImageSpecs (and ChapterImageSpecs2) e.g.: --------------------- [...] <key>ChapterImageSpecs</key> <array> </array> <key>ChapterImageSpecs2</key> <array> <dict> <key>FormatId</key> <integer>1073</integer> <key>RenderWidth</key> <integer>240</integer> <key>RenderHeight</key> [...] --------------------- The <array> following the first tags are always empty and the <array> following the 2nd type of tags (with the "2" at the end) contains the full list of the respective items. I have checked the following: - SysInfoExtended is correctly written (I have verified that it matches the xml data which is retrieved via raw SCSI inquiry commands as well as via the vendor specific USB requests), so it looks like that they really added these new tags. - I have updated my iPod to the newest firmware 1.1 and it's still the same src/itdb_sysinfo_extended_parser.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) --- diff --git a/src/itdb_sysinfo_extended_parser.c b/src/itdb_sysinfo_extended_parser.c index 0a0dc5b..9ac09f3 100644 --- a/src/itdb_sysinfo_extended_parser.c +++ b/src/itdb_sysinfo_extended_parser.c @@ -517,10 +517,22 @@ static SysInfoIpodProperties *g_value_to_ipod_properties (GValue *value) props = g_new0 (SysInfoIpodProperties, 1); props->artwork_formats = parse_one_formats_list (sysinfo_dict, "AlbumArt"); + if (props->artwork_formats == NULL) { + props->artwork_formats = parse_one_formats_list (sysinfo_dict, + "AlbumArt2"); + } props->photo_formats = parse_one_formats_list (sysinfo_dict, "ImageSpecifications"); + if (props->photo_formats == NULL) { + props->photo_formats = parse_one_formats_list (sysinfo_dict, + "ImageSpecifications2"); + } props->chapter_image_formats = parse_one_formats_list (sysinfo_dict, "ChapterImageSpecs"); + if (props->chapter_image_formats == NULL) { + props->chapter_image_formats = parse_one_formats_list (sysinfo_dict, + "ChapterImageSpecs2"); + } dict_to_struct (sysinfo_dict, sysinfo_ipod_properties_fields_mapping, props); |
From: Christophe F. <te...@us...> - 2011-07-07 20:04:39
|
commit 56c5f98929fde24e31283059faa769e85c057b6e Author: James Burton <bur...@go...> Date: Sun Jul 3 18:31:58 2011 +0200 fix itdb_free crash I've seen a few libgpod crashes in itdb_free() which appear to be due to a double free of itdb->priv->genius_cuid. Also I assume the check before the first g_free() can be removed since g_free does nothing if passed NULL. src/itdb_itunesdb.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) --- diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c index 446e43f..8e47c26 100644 --- a/src/itdb_itunesdb.c +++ b/src/itdb_itunesdb.c @@ -1355,8 +1355,7 @@ void itdb_free (Itdb_iTunesDB *itdb) (GFunc)(itdb_playlist_free), NULL); } - if (itdb->priv->genius_cuid) - g_free(itdb->priv->genius_cuid); + g_free(itdb->priv->genius_cuid); } g_list_free (itdb->playlists); @@ -1367,7 +1366,6 @@ void itdb_free (Itdb_iTunesDB *itdb) itdb_device_free (itdb->device); if (itdb->userdata && itdb->userdata_destroy) (*itdb->userdata_destroy) (itdb->userdata); - g_free (itdb->priv->genius_cuid); g_free (itdb->priv); g_free (itdb); } |
From: phantomjinx <pha...@us...> - 2011-06-05 11:24:43
|
commit 2e5a550d30c3c41600b29366f7756ff4b9bdc72e Author: phantomjinx <p.g...@ph...> Date: Sun Jun 5 12:19:09 2011 +0100 Update changelong and news for release ChangeLog | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NEWS | 18 +++++++++ 2 files changed, 146 insertions(+), 0 deletions(-) --- diff --git a/ChangeLog b/ChangeLog index 7c5533b..5647524 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,131 @@ +phantomjinx <p.g...@ph...> 2011-06-05 + + Updated translation files ready for new release + +phantomjinx <p.g...@ph...> 2011-06-04 + + Supply GErrors to add functions + + * Try and avoid displaying multiple dialogs when adding files, directories + and playlists. + + * file.c + * Replaces all gtkpod_warnings with population of a GError + + * gp_private.* + * log_error_printf function for convenience in having to duplicate a + gchar * each time an error is to be logged + + * playlist_display_actions.c + * File, directory and playlist adddition functions record errors with any + additions. These are appended to a single error message which is + displayed at the end of the addition process + +phantomjinx <p.g...@ph...> 2011-06-03 + + Fix to french translation + + * Received from debian bugs tracker. Thanks to mfv. + +phantomjinx <p.g...@ph...> 2011-05-24 + + m4a plugin fails to support m4b files + + * Adds in the m4b suffix which is supported by the m4a file type. Simple + error not to have been included previously. + +phantomjinx <p.g...@ph...> 2011-05-21 + + Update to documentation + + * Update to documentation. + + * Thanks to mfv (mvescovi at gmail.com) for the patch. + + * This is the same patch as reverted in the previous + commit but the patch was attributed incorrectly. The +commit corrects this attribution. + +phantomjinx <p.g...@ph...> 2011-05-22 + + Revert "Update to documentation" + + This reverts commit 4355f3630a543202f77048a1dd14ff6aa51c257a. + + This patch has been wrongly attributed. + +phantomjinx <p.g...@ph...> 2011-05-21 + + Update to documentation + + * Update to documentation. + + * Thanks to Götzg (goetz.waschk AT gmail.com) for the patch + +phantomjinx <p.g...@ph...> 2011-05-15 + + Errors not being cascaded in write file info function + + * file.c + * modifies filetype_write_file_info function to avoid throwing away the + populated GError. + + * filetype_iface.c + * Ensure that the no functions have supported logging + + * mp4file.c + * Better explanation of unsupported mp4 files + +phantomjinx <p.g...@ph...> 2011-05-15 + + Stop illegal freeing of memory on exit + + * directories.c + * When installed, the directory path is not being manufactured by the + init_directories function but points to the parameter passed in. + * The dispose directories function tries to free this pointer when it + really should not. However, to be consistent directories should a copy + of the path and then correctly free it. + +phantomjinx <p.g...@ph...> 2011-05-14 + + Upgrade version number to 2.0.2 + + * Increase the version number due to release of 2.0.1 + +phantomjinx <p.g...@ph...> 2011-05-14 + + Fix for mistake with the --as-needed flag on the linker + + * The Wl symbol should prefix the --as-needed flag + +phantomjinx <p.g...@ph...> 2011-05-13 + + Add as-needed to LDFLAGS + + * Requirement in debian's social contract to include the as-needed flag in + linker flags + +phantomjinx <p.g...@ph...> 2011-05-13 + + No need for binary to depend on id3tag + + * Only the mp3 filetype plugin needs to depend on id3tag + +phantomjinx <p.g...@ph...> 2011-05-08 + + Update translation information + +phantomjinx <p.g...@ph...> 2011-05-08 + + Update release information + + * Bugs fixed between 2.0.1 beta1 and 2.0.1 rc1 + +phantomjinx <p.g...@ph...> 2011-05-08 + + Make generator changelog script more convenient to run + phantomjinx <p.g...@ph...> 2011-05-07 Removal of libglade requires addition of libxml2 diff --git a/NEWS b/NEWS index 42ec132..961411b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,21 @@ +gtkpod V2.0.2 + + Incremental release, targeted towards fixing identifed bugs. + + IMPROVEMENT: Stop multiple error dialogs displaying when adding tracks. + + BUGFIX: Fixes to translations and documentation - thanks to mfv. + + BUGFIX: Support for m4b file type missing. + + BUGFIX: Errors not being cascaded when writing track tag info. + + BUGFIX: Stop segmentation faults on exit from freeing of directory paths. + + BUGFIX: Incorrect use of as-needed flag in configure script. + + + gtkpod V2.0.1 Incremental release, targeted towards fixing identified bugs. |
From: phantomjinx <pha...@us...> - 2011-06-04 09:33:16
|
commit 110f0bde5c6b0330740b355f95f2e79c8726b3b2 Merge: c9bf5ab e7def59 Author: phantomjinx <p.g...@ph...> Date: Sat Jun 4 10:28:27 2011 +0100 Merge branch 'master' into gtk-3.0 Conflicts: libgtkpod/file.c libgtkpod/file.c | 100 +++++++++++----- libgtkpod/file.h | 15 +-- libgtkpod/gp_private.c | 11 ++ libgtkpod/gp_private.h | 2 + libgtkpod/misc_playlist.c | 8 +- libgtkpod/misc_track.c | 19 ++-- libgtkpod/syncdir.c | 2 +- .../playlist_display/playlist_display_actions.c | 121 +++++++++++++++++--- po/fr.po | 4 +- 9 files changed, 209 insertions(+), 73 deletions(-) --- diff --cc libgtkpod/file.c index 058cd06,98d3e50..65d3026 --- a/libgtkpod/file.c +++ b/libgtkpod/file.c @@@ -206,9 -207,10 +207,10 @@@ add_playlist_by_filename(iTunesDB *itdb gchar *dirname = NULL, *plname = NULL; gchar buf[PATH_MAX]; FileType *type = NULL; /* type of playlist file */ - gint line, tracks; + gint line; FILE *fp; - gboolean error; + gboolean errstatus; + GString *errors = g_string_new(""); g_return_val_if_fail (plfile, FALSE); g_return_val_if_fail (itdb, FALSE); @@@ -253,8 -255,9 +255,8 @@@ all of these are line based -- add different code for different playlist files */ line = -1; /* nr of line being read */ - error = FALSE; - while (!error && fgets(buf, PATH_MAX, fp)) { - tracks = 0; /* nr of tracks added */ + errstatus = FALSE; + while (!errstatus && fgets(buf, PATH_MAX, fp)) { gchar *bufp = buf; gchar *filename = NULL; gint len = strlen(bufp); /* remove newline */ |
From: phantomjinx <pha...@us...> - 2011-06-04 09:33:10
|
Summary of changes: 4355f36... Update to documentation (*) aaccd1d... Revert "Update to documentation" (*) bb43f58... Update to documentation (*) 2893ea0... m4a plugin fails to support m4b files (*) be99989... Fix to french translation (*) e7def59... Supply GErrors to add functions (*) 110f0bd... Merge branch 'master' into gtk-3.0 (*) This commit already existed in another branch; no separate mail sent |
From: phantomjinx <pha...@us...> - 2011-06-04 00:39:55
|
commit e7def598f3fe5b79e0f5032712a2ea1d64206a01 Author: phantomjinx <p.g...@ph...> Date: Sat Jun 4 01:38:27 2011 +0100 Supply GErrors to add functions * Try and avoid displaying multiple dialogs when adding files, directories and playlists. * file.c * Replaces all gtkpod_warnings with population of a GError * gp_private.* * log_error_printf function for convenience in having to duplicate a gchar * each time an error is to be logged * playlist_display_actions.c * File, directory and playlist adddition functions record errors with any additions. These are appended to a single error message which is displayed at the end of the addition process libgtkpod/file.c | 100 +++++++++++----- libgtkpod/file.h | 15 +-- libgtkpod/gp_private.c | 11 ++ libgtkpod/gp_private.h | 2 + libgtkpod/misc_playlist.c | 8 +- libgtkpod/misc_track.c | 19 ++-- libgtkpod/syncdir.c | 2 +- .../playlist_display/playlist_display_actions.c | 121 +++++++++++++++++--- 8 files changed, 207 insertions(+), 71 deletions(-) --- diff --git a/libgtkpod/file.c b/libgtkpod/file.c index b73bb2e..98d3e50 100644 --- a/libgtkpod/file.c +++ b/libgtkpod/file.c @@ -52,6 +52,7 @@ #include "prefs.h" #include "misc_conversion.h" #include "filetype_iface.h" +#include "gp_private.h" #define UNKNOWN_ERROR _("Unknown error") @@ -201,20 +202,21 @@ static gboolean excludefile(gchar *filename) { /* Return value: playlist to which the files were added to or NULL on * error */ Playlist * -add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint plitem_pos, AddTrackFunc addtrackfunc, gpointer data) { +add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint plitem_pos, AddTrackFunc addtrackfunc, gpointer data, GError **error) { gchar *bufp, *plfile_utf8; gchar *dirname = NULL, *plname = NULL; gchar buf[PATH_MAX]; FileType *type = NULL; /* type of playlist file */ gint line, tracks; FILE *fp; - gboolean error; + gboolean errstatus; + GString *errors = g_string_new(""); g_return_val_if_fail (plfile, FALSE); g_return_val_if_fail (itdb, FALSE); if (g_file_test(plfile, G_FILE_TEST_IS_DIR)) { - gtkpod_warning(_("'%s' is a directory, not a playlist file.\n\n"), plfile); + gtkpod_log_error_printf(error, _("'%s' is a directory, not a playlist file.\n\n"), plfile); return FALSE; /* definitely not! */ } @@ -228,7 +230,7 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p *bufp = 0; /* truncate playlist name */ type = determine_filetype(plfile); if (!filetype_is_playlist_filetype(type)) { - gtkpod_warning(_("'%s' is a not a known playlist file.\n\n"), plfile); + gtkpod_log_error_printf(error, _("'%s' is a not a known playlist file.\n\n"), plfile); g_free(plname); return FALSE; } @@ -236,7 +238,7 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p /* attempt to open playlist file */ if (!(fp = fopen(plfile, "r"))) { - gtkpod_warning(_("Could not open '%s' for reading.\n"), plfile); + gtkpod_log_error_printf(error, _("Could not open '%s' for reading.\n"), plfile); g_free(plname); return FALSE; /* definitely not! */ } @@ -254,8 +256,8 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p playlist files */ line = -1; /* nr of line being read */ tracks = 0; /* nr of tracks added */ - error = FALSE; - while (!error && fgets(buf, PATH_MAX, fp)) { + errstatus = FALSE; + while (!errstatus && fgets(buf, PATH_MAX, fp)) { gchar *bufp = buf; gchar *filename = NULL; gint len = strlen(bufp); /* remove newline */ @@ -301,7 +303,7 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p correct the code if you know more */ if (line == 0) { /* check for "[playlist]" */ if (strncasecmp(bufp, "[playlist]", 10) != 0) - error = TRUE; + errstatus = TRUE; } else if (strncasecmp(bufp, "File", 4) == 0) { /* looks like a file entry */ bufp = strchr(bufp, '='); @@ -316,14 +318,26 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p if (filename) { /* do not allow to add directories! */ if (g_file_test(filename, G_FILE_TEST_IS_DIR)) { - gtkpod_warning(_("Skipping '%s' because it is a directory.\n"), filename); + gchar *msg = g_strdup_printf(_("Skipping '%s' because it is a directory.\n"), filename); + g_string_append(errors, msg); + g_free(msg); } /* do not allow to add playlist file recursively */ else if (strcmp(plfile, filename) == 0) { - gtkpod_warning(_("Skipping '%s' to avoid adding playlist file recursively\n"), filename); + gchar *msg = g_strdup_printf(_("Skipping '%s' to avoid adding playlist file recursively\n"), filename); + g_string_append(errors, msg); + g_free(msg); } else { - add_track_by_filename(itdb, filename, plitem, prefs_get_int("add_recursively"), addtrackfunc, data); + GError *trackerror = NULL; + add_track_by_filename(itdb, filename, plitem, prefs_get_int("add_recursively"), addtrackfunc, data, &trackerror); + if (trackerror) { + gchar *msg = g_strdup_printf("%s\n", trackerror->message); + g_string_append(errors, msg); + g_free(msg); + g_error_free(trackerror); + trackerror = NULL; + } } g_free(filename); } @@ -335,8 +349,16 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p duplicates -- but we should reset the list. */ gp_duplicate_remove(NULL, (void *) -1); + if (errors) { + if (errors->len > 0) { + gtkpod_log_error(error, errors->str); + } + g_string_free(errors, TRUE); + } + if (!error) return plitem; + return NULL; } @@ -362,8 +384,9 @@ add_playlist_by_filename(iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint p * value indicating number of added tracks. */ /* */ -gint add_directory_by_name(iTunesDB *itdb, gchar *name, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data) { +gint add_directory_by_name(iTunesDB *itdb, gchar *name, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data, GError **error) { gint result = 0; + GString *errors = g_string_new(""); g_return_val_if_fail (itdb, 0); g_return_val_if_fail (name, 0); @@ -378,7 +401,15 @@ gint add_directory_by_name(iTunesDB *itdb, gchar *name, Playlist *plitem, gboole if (next != NULL) { gchar *nextfull = g_build_filename(name, next, NULL); if (descend || !g_file_test(nextfull, G_FILE_TEST_IS_DIR)) { - result += add_directory_by_name(itdb, nextfull, plitem, descend, addtrackfunc, data); + GError *direrror = NULL; + result += add_directory_by_name(itdb, nextfull, plitem, descend, addtrackfunc, data, &direrror); + if (direrror) { + gchar *msg = g_strdup_printf("%s\n", direrror->message); + g_string_append(errors, msg); + g_free(msg); + g_error_free(direrror); + direrror = NULL; + } } g_free(nextfull); } @@ -390,9 +421,15 @@ gint add_directory_by_name(iTunesDB *itdb, gchar *name, Playlist *plitem, gboole release_widgets(); } else { - if (add_track_by_filename(itdb, name, plitem, descend, addtrackfunc, data)) + if (add_track_by_filename(itdb, name, plitem, descend, addtrackfunc, data, error)) result++; } + + if (errors->len > 0) { + gtkpod_log_error_printf(error, errors->str); + } + g_string_free(errors, TRUE); + return result; } @@ -1020,13 +1057,12 @@ static void add_coverart(Track *tr) { * pc_path_utf8 and pc_path_locale are not changed if an entry already * exists. time_added is not modified if already set. */ /* Returns NULL on error, a pointer to the Track otherwise */ -Track *get_track_info_from_file(gchar *name, Track *orig_track) { +Track *get_track_info_from_file(gchar *name, Track *orig_track, GError **error) { Track *track = NULL; Track *nti = NULL; FileType *filetype; gint len; gchar *name_utf8 = NULL; - GError *error = NULL; g_return_val_if_fail (name, NULL); @@ -1036,7 +1072,7 @@ Track *get_track_info_from_file(gchar *name, Track *orig_track) { name_utf8 = charset_to_utf8(name); if (!g_file_test(name, G_FILE_TEST_EXISTS)) { - gtkpod_warning(_("The following track could not be processed (file does not exist): '%s'\n"), name_utf8); + gtkpod_log_error_printf(error, _("The following track could not be processed (file does not exist): '%s'\n"), name_utf8); g_free(name_utf8); return NULL; } @@ -1051,21 +1087,22 @@ Track *get_track_info_from_file(gchar *name, Track *orig_track) { filetype = determine_filetype(name); if (!filetype) { - gtkpod_warning( + gtkpod_log_error_printf(error, _("The filetype '%s' is not currently supported.\n\n" "If you have a plugin that supports this filetype then please enable it."), name_utf8); return NULL; } - nti = filetype_get_file_info(filetype, name, &error); - if (error || !nti) { - gtkpod_warning(_("No track information could be retrieved from the file %s due to the following error:\n\n%s"), name_utf8, error->message); - g_error_free(error); - error = NULL; + GError *info_error = NULL; + nti = filetype_get_file_info(filetype, name, &info_error); + if (info_error || !nti) { + gtkpod_log_error_printf(error, _("No track information could be retrieved from the file %s due to the following error:\n\n%s"), name_utf8, info_error->message); + g_error_free(info_error); + info_error = NULL; g_free(name_utf8); return NULL; } else if (!nti) { - gtkpod_warning(_("No track information could be retrieved from the file %s due to the following error:\n\nAn error was not returned."), name_utf8); + gtkpod_log_error_printf(error, _("No track information could be retrieved from the file %s due to the following error:\n\nAn error was not returned."), name_utf8); g_free(name_utf8); return NULL; } @@ -1390,7 +1427,7 @@ void update_track_from_file(iTunesDB *itdb, Track *track) { } } - if (trackpath && get_track_info_from_file(trackpath, track)) { /* update successful */ + if (trackpath && get_track_info_from_file(trackpath, track, NULL)) { /* update successful */ ExtraTrackData *netr = track->userdata; /* remove track from sha1 hash and reinsert it @@ -1496,7 +1533,7 @@ void update_track_from_file(iTunesDB *itdb, Track *track) { /* @addtrackfunc: if != NULL this will be called instead of "add_track_to_playlist () -- used for dropping tracks at a specific position in the track view */ -gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data) { +gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data, GError **error) { Track *oldtrack; gchar str[PATH_MAX]; gchar *basename; @@ -1515,18 +1552,19 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, g plitem = mpl; if (g_file_test(fname, G_FILE_TEST_IS_DIR)) { - return add_directory_by_name(itdb, fname, plitem, descend, addtrackfunc, data); + return add_directory_by_name(itdb, fname, plitem, descend, addtrackfunc, data, error); } /* check if file is a playlist */ filetype = determine_filetype(fname); if (filetype_is_playlist_filetype(filetype)) { - if (add_playlist_by_filename(itdb, fname, plitem, -1, addtrackfunc, data)) + if (add_playlist_by_filename(itdb, fname, plitem, -1, addtrackfunc, data, error)) return TRUE; return FALSE; } if (!filetype_is_audio_filetype(filetype) && !filetype_is_video_filetype(filetype)) { + gtkpod_log_error_printf(error, _("File type of %s is not recognised"), fname); return FALSE; } @@ -1540,7 +1578,7 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, g g_free(bn_utf8); if (excludefile(basename)) { - gtkpod_warning(_("Skipping '%s' because it matches exclude masks.\n"), basename); + gtkpod_log_error_printf(error, _("Skipping '%s' because it matches exclude masks.\n"), basename); while (widgets_blocked && gtk_events_pending()) gtk_main_iteration(); g_free(basename); @@ -1569,7 +1607,7 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, g } else /* oldtrack == NULL */ { /* OK, the same filename does not already exist */ - Track *track = get_track_info_from_file(fname, NULL); + Track *track = get_track_info_from_file(fname, NULL, error); if (track) { Track *added_track = NULL; ExtraTrackData *etr = track->userdata; @@ -1644,7 +1682,7 @@ gboolean add_track_by_filename(iTunesDB *itdb, gchar *fname, Playlist *plitem, g * to podcasts list and track already exists there */ if (itdb_playlist_is_podcasts(plitem) && g_list_find(plitem->members, added_track)) { gchar *buf = get_track_info(added_track, FALSE); - gtkpod_warning(_("Podcast already present: '%s'\n\n"), buf); + gtkpod_log_error_printf(error, _("Podcast already present: '%s'\n\n"), buf); g_free(buf); } else { diff --git a/libgtkpod/file.h b/libgtkpod/file.h index 9c99785..d365851 100644 --- a/libgtkpod/file.h +++ b/libgtkpod/file.h @@ -59,18 +59,11 @@ FileType *determine_filetype (const gchar *path); * Used inside file functions but also used in file_itunesdb for importing * itdbs. Embedded artwork can be read using this. */ -Track *get_track_info_from_file(gchar *name, Track *orig_track); +Track *get_track_info_from_file(gchar *name, Track *orig_track, GError **error); -gboolean add_track_by_filename (iTunesDB *itdb, gchar *name, - Playlist *plitem, gboolean descend, - AddTrackFunc addtrackfunc, gpointer data); -gboolean add_directory_by_name (iTunesDB *itdb, gchar *name, - Playlist *plitem, gboolean descend, - AddTrackFunc addtrackfunc, gpointer data); -Playlist *add_playlist_by_filename (iTunesDB *itdb, gchar *plfile, - Playlist *plitem, gint plitem_pos, - AddTrackFunc addtrackfunc, - gpointer data); +gboolean add_track_by_filename (iTunesDB *itdb, gchar *name, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data, GError **error); +gboolean add_directory_by_name (iTunesDB *itdb, gchar *name, Playlist *plitem, gboolean descend, AddTrackFunc addtrackfunc, gpointer data, GError **error); +Playlist *add_playlist_by_filename (iTunesDB *itdb, gchar *plfile, Playlist *plitem, gint plitem_pos, AddTrackFunc addtrackfunc, gpointer data, GError **error); gboolean write_tags_to_file(Track *s); void update_track_from_file (iTunesDB *itdb, Track *track); void update_tracks (GList *selected_tracks); diff --git a/libgtkpod/gp_private.c b/libgtkpod/gp_private.c index fc05b20..55c006a 100644 --- a/libgtkpod/gp_private.c +++ b/libgtkpod/gp_private.c @@ -121,6 +121,17 @@ GQuark gtkpod_general_error_quark (void) return g_quark_from_static_string ("gtkpod-general-error-quark"); } +void gtkpod_log_error_printf(GError **error, gchar *msg, ...) { + gchar* buf; + va_list args; + va_start (args, msg); + buf = g_strdup_vprintf(msg, args); + va_end (args); + + gtkpod_log_error(error, buf); + g_free(buf); +} + void gtkpod_log_error(GError **error, gchar *msg) { g_set_error (error, GTKPOD_GENERAL_ERROR, /* error domain */ diff --git a/libgtkpod/gp_private.h b/libgtkpod/gp_private.h index 05a0250..3301707 100644 --- a/libgtkpod/gp_private.h +++ b/libgtkpod/gp_private.h @@ -102,6 +102,8 @@ typedef enum { GQuark gtkpod_general_error_quark (void); +void gtkpod_log_error_printf(GError **error, gchar *msg, ...); + void gtkpod_log_error(GError **error, gchar *msg); #endif /* GP_DEFINITIONS_H_ */ diff --git a/libgtkpod/misc_playlist.c b/libgtkpod/misc_playlist.c index daf733b..21ed692 100644 --- a/libgtkpod/misc_playlist.c +++ b/libgtkpod/misc_playlist.c @@ -931,8 +931,10 @@ void check_db(iTunesDB *itdb) { if (localdebug) fprintf(stdout, "to orphaned "); - if ((dupl_track = sha1_file_exists(itdb, fn_orphaned, TRUE))) { /* This orphan has already been added again. - It will be removed with the next sync */ + + if ((dupl_track = sha1_file_exists(itdb, fn_orphaned, TRUE))) { + /* This orphan has already been added again. + It will be removed with the next sync */ Track *track = gp_track_new(); gchar *fn_utf8 = charset_to_utf8(fn_orphaned); const gchar *dir_rel = music_dir + strlen(mountpoint); @@ -951,7 +953,7 @@ void check_db(iTunesDB *itdb) { g_free(fn_utf8); } else { - add_track_by_filename(itdb, fn_orphaned, pl_orphaned, FALSE, NULL, NULL); + add_track_by_filename(itdb, fn_orphaned, pl_orphaned, FALSE, NULL, NULL, NULL); } g_free(fn_orphaned); g_free(num_str); diff --git a/libgtkpod/misc_track.c b/libgtkpod/misc_track.c index 260b879..d0dac50 100644 --- a/libgtkpod/misc_track.c +++ b/libgtkpod/misc_track.c @@ -1785,6 +1785,7 @@ Playlist *add_text_plain_to_playlist(iTunesDB *itdb, Playlist *pl, gchar *str, g gchar **files = NULL, **filesp = NULL; Playlist *pl_playlist = pl; /* playlist for playlist file */ Playlist *pl_playlist_created = NULL; + GError *error = NULL; g_return_val_if_fail (itdb, NULL); @@ -1799,7 +1800,6 @@ Playlist *add_text_plain_to_playlist(iTunesDB *itdb, Playlist *pl, gchar *str, g if (files) { filesp = files; while (*filesp) { - gboolean added = FALSE; gint file_len = -1; gchar *file = NULL; @@ -1829,10 +1829,9 @@ Playlist *add_text_plain_to_playlist(iTunesDB *itdb, Playlist *pl, gchar *str, g if (!pl) break; /* while (*filesp) */ } - add_directory_by_name(itdb, decoded_file, pl, prefs_get_int("add_recursively"), trackaddfunc, data); - added = TRUE; + add_directory_by_name(itdb, decoded_file, pl, prefs_get_int("add_recursively"), trackaddfunc, data, &error); } - if (g_file_test(decoded_file, G_FILE_TEST_IS_REGULAR)) { /* regular file */ + else if (g_file_test(decoded_file, G_FILE_TEST_IS_REGULAR)) { /* regular file */ FileType *filetype = determine_filetype(decoded_file); if (filetype_is_video_filetype(filetype) || filetype_is_audio_filetype(filetype)) { @@ -1841,20 +1840,20 @@ Playlist *add_text_plain_to_playlist(iTunesDB *itdb, Playlist *pl, gchar *str, g if (!pl) break; /* while (*filesp) */ } - add_track_by_filename(itdb, decoded_file, pl, prefs_get_int("add_recursively"), trackaddfunc, data); - added = TRUE; + add_track_by_filename(itdb, decoded_file, pl, prefs_get_int("add_recursively"), trackaddfunc, data, &error); } else if (filetype_is_playlist_filetype(filetype)) { pl_playlist_created - = add_playlist_by_filename(itdb, decoded_file, pl_playlist, pl_pos, trackaddfunc, data); - added = TRUE; + = add_playlist_by_filename(itdb, decoded_file, pl_playlist, pl_pos, trackaddfunc, data, &error); } } g_free(decoded_file); } - if (!added) { + if (error) { if (strlen(*filesp) != 0) - gtkpod_warning(_("drag and drop: ignored '%s'\n"), *filesp); + gtkpod_warning(_("drag and drop: ignored '%s'.\nreason: %s\n"), *filesp, error->message); + g_error_free(error); + error = NULL; } ++filesp; } diff --git a/libgtkpod/syncdir.c b/libgtkpod/syncdir.c index f77d840..58439bf 100644 --- a/libgtkpod/syncdir.c +++ b/libgtkpod/syncdir.c @@ -355,7 +355,7 @@ static void add_files(gpointer key, gpointer value, gpointer user_data) { data.filepath = filename; data.filepath_hash = afd->filepath_hash; - add_track_by_filename(pl->itdb, filename, pl, FALSE, sync_addtrackfunc, &data); + add_track_by_filename(pl->itdb, filename, pl, FALSE, sync_addtrackfunc, &data, NULL); tr = g_hash_table_lookup(afd->filepath_hash, filename); updated = TRUE; diff --git a/plugins/playlist_display/playlist_display_actions.c b/plugins/playlist_display/playlist_display_actions.c index 37c7075..cd612d7 100644 --- a/plugins/playlist_display/playlist_display_actions.c +++ b/plugins/playlist_display/playlist_display_actions.c @@ -48,6 +48,8 @@ /* Callback after directories to add have been selected */ static void add_selected_dirs(GSList *names, Playlist *db_active_pl) { gboolean result = TRUE; + GString *errors = g_string_new(""); + GError *error = NULL; g_return_if_fail (names); g_return_if_fail (db_active_pl); @@ -57,7 +59,14 @@ static void add_selected_dirs(GSList *names, Playlist *db_active_pl) { GSList* currentnode; for (currentnode = names; currentnode; currentnode = currentnode->next) { result - &= add_directory_by_name(db_active_pl->itdb, currentnode->data, db_active_pl, prefs_get_int("add_recursively"), NULL, NULL); + &= add_directory_by_name(db_active_pl->itdb, currentnode->data, db_active_pl, prefs_get_int("add_recursively"), NULL, NULL, &error); + if (error) { + gchar *buf = g_strdup_printf(_("%s\n"), error->message); + g_string_append(errors, buf); + g_free(buf); + g_error_free(error); + error = NULL; + } } /* Final save of itdb */ @@ -69,13 +78,33 @@ static void add_selected_dirs(GSList *names, Playlist *db_active_pl) { /* display log of detected duplicates */ gp_duplicate_remove(NULL, NULL); - if (result == TRUE) - gtkpod_statusbar_message(_("Successfully added files")); - else - gtkpod_statusbar_message(_("Some files were not added successfully")); - - gtkpod_statusbar_busy_pop(); gtkpod_set_current_playlist(db_active_pl); + gtkpod_statusbar_busy_pop(); + + /* Were all files successfully added? */ + if (result == FALSE) { + if (errors->len > 0) { + gtkpod_confirmation(-1, /* gint id, */ + TRUE, /* gboolean modal, */ + _("Directory Addition Errors"), /* title */ + _(" Some directories were not added successfully"), /* label */ + errors->str, /* scrolled text */ + NULL, 0, NULL, /* option 1 */ + NULL, 0, NULL, /* option 2 */ + TRUE, /* gboolean confirm_again, */ + "show_file_addition_errors",/* confirm_again_key,*/ + CONF_NULL_HANDLER, /* ConfHandler ok_handler,*/ + NULL, /* don't show "Apply" button */ + NULL, /* cancel_handler,*/ + NULL, /* gpointer user_data1,*/ + NULL); /* gpointer user_data2,*/ + } + else { + gtkpod_warning(_("Some directories failed to be added but no errors were reported.")); + } + } + + g_string_free(errors, TRUE); } } @@ -126,6 +155,7 @@ static void create_add_directories_dialog(Playlist *pl) { /* OK Button */ static void fileselection_add_playlists(GSList* names, iTunesDB *itdb) { GSList* gsl; + GString *errors = g_string_new(""); /* Get the names of the playlist(s) and add them */ @@ -135,7 +165,15 @@ static void fileselection_add_playlists(GSList* names, iTunesDB *itdb) { gtkpod_statusbar_busy_push(); for (gsl = names; gsl; gsl = gsl->next) { - add_playlist_by_filename(itdb, gsl->data, NULL, -1, NULL, NULL); + GError *error = NULL; + add_playlist_by_filename(itdb, gsl->data, NULL, -1, NULL, NULL, &error); + if (error) { + gchar *buf = g_strdup_printf(_("'%s'\n"), error->message); + g_string_append(errors, buf); + g_free(buf); + g_error_free(error); + error = NULL; + } } release_widgets(); @@ -151,6 +189,28 @@ static void fileselection_add_playlists(GSList* names, iTunesDB *itdb) { gtkpod_statusbar_busy_pop(); gtkpod_tracks_statusbar_update(); gtkpod_set_current_playlist(itdb_playlist_mpl(itdb)); + + if (errors->len > 0) { + gtkpod_confirmation(-1, /* gint id, */ + TRUE, /* gboolean modal, */ + _("Playlist Addition Errors"), /* title */ + _("Some tracks in the playlist were not added successfully"), /* label */ + errors->str, /* scrolled text */ + NULL, 0, NULL, /* option 1 */ + NULL, 0, NULL, /* option 2 */ + TRUE, /* gboolean confirm_again, */ + "show_playlist_addition_errors",/* confirm_again_key,*/ + CONF_NULL_HANDLER, /* ConfHandler ok_handler,*/ + NULL, /* don't show "Apply" button */ + NULL, /* cancel_handler,*/ + NULL, /* gpointer user_data1,*/ + NULL); /* gpointer user_data2,*/ + } + else { + gtkpod_warning(_("Some tracks failed to be added but no errors were reported.")); + } + + g_string_free(errors, TRUE); } /* Open a modal file selection dialog with multiple selction enabled */ @@ -236,6 +296,7 @@ static void create_add_playlists_dialog(iTunesDB *itdb) { static void fileselection_add_files(GSList* names, Playlist *playlist) { GSList* gsl; /* Current node in list */ gboolean result = TRUE; /* Result of file adding */ + GString *errors = g_string_new(""); /* If we don't have a playlist to add to, don't add anything */ g_return_if_fail (playlist); @@ -245,8 +306,19 @@ static void fileselection_add_files(GSList* names, Playlist *playlist) { gtkpod_statusbar_busy_push(); /* Get the filenames and add them */ for (gsl = names; gsl; gsl = gsl->next) { + GError *error = NULL; + /* Might be useful to stick a GError on this to return a message if the + * file fails to be added. + */ result - &= add_track_by_filename(playlist->itdb, gsl->data, playlist, prefs_get_int("add_recursively"), NULL, NULL); + &= add_track_by_filename(playlist->itdb, gsl->data, playlist, prefs_get_int("add_recursively"), NULL, NULL, &error); + if (error) { + gchar *buf = g_strdup_printf(_("%s\n"), error->message); + g_string_append(errors, buf); + g_free(buf); + g_error_free(error); + error = NULL; + } } /* Final save of remaining added tracks */ @@ -260,16 +332,35 @@ static void fileselection_add_files(GSList* names, Playlist *playlist) { /* display log of detected duplicates */ gp_duplicate_remove(NULL, NULL); - /* Were all files successfully added? */ - if (result == TRUE) - gtkpod_statusbar_message(_("Successfully added files")); - else - gtkpod_statusbar_message(_("Some files were not added successfully")); - gtkpod_statusbar_busy_pop(); release_widgets(); gtkpod_set_current_playlist(playlist); + + /* Were all files successfully added? */ + if (result == FALSE) { + if (errors->len > 0) { + gtkpod_confirmation(-1, /* gint id, */ + TRUE, /* gboolean modal, */ + _("File Addition Errors"), /* title */ + _("Some files were not added successfully"), /* label */ + errors->str, /* scrolled text */ + NULL, 0, NULL, /* option 1 */ + NULL, 0, NULL, /* option 2 */ + TRUE, /* gboolean confirm_again, */ + "show_file_addition_errors",/* confirm_again_key,*/ + CONF_NULL_HANDLER, /* ConfHandler ok_handler,*/ + NULL, /* don't show "Apply" button */ + NULL, /* cancel_handler,*/ + NULL, /* gpointer user_data1,*/ + NULL); /* gpointer user_data2,*/ + } + else { + gtkpod_warning(_("Some tracks failed to be added but no errors were reported.")); + } + } + + g_string_free(errors, TRUE); } static gboolean fileselection_add_files_cb(gpointer data) { |
From: phantomjinx <pha...@us...> - 2011-06-04 00:39:49
|
commit be999890283a210710a9136782785e3ed76d82d3 Author: phantomjinx <p.g...@ph...> Date: Fri Jun 3 22:29:40 2011 +0100 Fix to french translation * Received from debian bugs tracker. Thanks to mfv. po/fr.po | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- diff --git a/po/fr.po b/po/fr.po index d7fcd52..9528990 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1294,8 +1294,8 @@ msgstr[1] "" #: ../libgtkpod/misc.c:1698 msgid "Delete Track Completely from iPod?" msgid_plural "Delete Tracks Completely from iPod?" -msgstr[0] "Suppression définitive d'un morceau de l'iPod ?" -msgstr[1] "Suppression définitive de morceaux de l'iPod ?" +msgstr[0] "Supprimer ce morceau de l'iPod ?" +msgstr[1] "Supprimer ces morceaux de l'iPod ?" #: ../libgtkpod/misc.c:1709 ../libgtkpod/misc.c:1746 #, c-format |
From: phantomjinx <pha...@us...> - 2011-05-24 22:26:24
|
commit c9bf5abf0e32a6c41b9d36485d790d639a8b3151 Author: phantomjinx <p.g...@ph...> Date: Tue May 24 23:23:30 2011 +0100 m4a plugin fails to support m4b files * Adds in the m4b suffix which is supported by the m4a file type. Simple error not to have been included previously. plugins/filetype_m4a/plugin.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) --- diff --git a/plugins/filetype_m4a/plugin.c b/plugins/filetype_m4a/plugin.c index bce9252..4a57712 100644 --- a/plugins/filetype_m4a/plugin.c +++ b/plugins/filetype_m4a/plugin.c @@ -84,6 +84,7 @@ static void m4a_filetype_iface_init(FileTypeInterface *iface) { iface->description = _("M4A audio file type"); iface->name = "m4a"; iface->suffixes = g_list_append(iface->suffixes, "m4a"); + iface->suffixes = g_list_append(iface->suffixes, "m4b"); iface->suffixes = g_list_append(iface->suffixes, "m4p"); iface->suffixes = g_list_append(iface->suffixes, "aac"); |
From: phantomjinx <pha...@us...> - 2011-05-24 22:24:28
|
commit 2893ea0346befa29e9088b8c3fbf0376739a5ace Author: phantomjinx <p.g...@ph...> Date: Tue May 24 23:23:30 2011 +0100 m4a plugin fails to support m4b files * Adds in the m4b suffix which is supported by the m4a file type. Simple error not to have been included previously. plugins/filetype_m4a/plugin.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) --- diff --git a/plugins/filetype_m4a/plugin.c b/plugins/filetype_m4a/plugin.c index bce9252..4a57712 100644 --- a/plugins/filetype_m4a/plugin.c +++ b/plugins/filetype_m4a/plugin.c @@ -84,6 +84,7 @@ static void m4a_filetype_iface_init(FileTypeInterface *iface) { iface->description = _("M4A audio file type"); iface->name = "m4a"; iface->suffixes = g_list_append(iface->suffixes, "m4a"); + iface->suffixes = g_list_append(iface->suffixes, "m4b"); iface->suffixes = g_list_append(iface->suffixes, "m4p"); iface->suffixes = g_list_append(iface->suffixes, "aac"); |
From: phantomjinx <pha...@us...> - 2011-05-22 19:21:27
|
commit 2efbd07cc6ffb89e1792694539b9dbb94ace3328 Author: phantomjinx <p.g...@ph...> Date: Sat May 21 18:54:49 2011 +0100 Update to documentation * Update to documentation. * Thanks to mfv (mvescovi at gmail.com) for the patch. * This is the same patch as reverted in the previous commit but the patch was attributed incorrectly. The commit corrects this attribution. doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 ++++++------- 3 files changed, 17 insertions(+), 18 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index 1ce604c..e28a444 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> + <programlisting>mount /dev/sdc2 /media/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device +~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_mnt/ + <programlisting>./test-firewire-id touch_media/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index 75ce7d5..e46ae3a 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index ce32b86..79d8f4e 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,16 +558,15 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ </pre></div> </div> <div class="division sect3"> @@ -588,11 +587,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-22 19:21:20
|
commit 5315db9c9170a762f11923d4eab2e7b2185088aa Author: phantomjinx <p.g...@ph...> Date: Sun May 22 20:16:11 2011 +0100 Revert "Update to documentation" This reverts commit 4355f3630a543202f77048a1dd14ff6aa51c257a. This patch has been wrongly attributed. doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 +++++++------ 3 files changed, 18 insertions(+), 17 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index e28a444..1ce604c 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /media/ipod</programlisting> + <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device -~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device +~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_media/ + <programlisting>./test-firewire-id touch_mnt/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index e46ae3a..75ce7d5 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index 79d8f4e..ce32b86 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,15 +558,16 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device +~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ </pre></div> </div> <div class="division sect3"> @@ -587,11 +588,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-22 19:20:38
|
commit bb43f58a5931f81b901754748cd703b49e76d19a Author: phantomjinx <p.g...@ph...> Date: Sat May 21 18:54:49 2011 +0100 Update to documentation * Update to documentation. * Thanks to mfv (mvescovi at gmail.com) for the patch. * This is the same patch as reverted in the previous commit but the patch was attributed incorrectly. The commit corrects this attribution. doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 ++++++------- 3 files changed, 17 insertions(+), 18 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index 1ce604c..e28a444 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> + <programlisting>mount /dev/sdc2 /media/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device +~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_mnt/ + <programlisting>./test-firewire-id touch_media/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index 75ce7d5..e46ae3a 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index ce32b86..79d8f4e 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,16 +558,15 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ </pre></div> </div> <div class="division sect3"> @@ -588,11 +587,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-22 19:20:32
|
commit aaccd1d3d010c84584bfcfa4d89979674699028b Author: phantomjinx <p.g...@ph...> Date: Sun May 22 20:16:11 2011 +0100 Revert "Update to documentation" This reverts commit 4355f3630a543202f77048a1dd14ff6aa51c257a. This patch has been wrongly attributed. doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 +++++++------ 3 files changed, 18 insertions(+), 17 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index e28a444..1ce604c 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /media/ipod</programlisting> + <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device -~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device +~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_media/ + <programlisting>./test-firewire-id touch_mnt/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index e46ae3a..75ce7d5 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index 79d8f4e..ce32b86 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,15 +558,16 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device +~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ </pre></div> </div> <div class="division sect3"> @@ -587,11 +588,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-21 17:57:59
|
commit a2e33d9c0d0b772ee96ca6fd7e5a40c7f21bcb8e Author: phantomjinx <p.g...@ph...> Date: Sat May 21 18:54:49 2011 +0100 Update to documentation * Update to documentation. * Thanks to Götzg (goetz.waschk AT gmail.com) for the patch doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 ++++++------- 3 files changed, 17 insertions(+), 18 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index 1ce604c..e28a444 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> + <programlisting>mount /dev/sdc2 /media/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device +~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_mnt/ + <programlisting>./test-firewire-id touch_media/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index 75ce7d5..e46ae3a 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index ce32b86..79d8f4e 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,16 +558,15 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ </pre></div> </div> <div class="division sect3"> @@ -588,11 +587,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-21 17:56:32
|
commit 4355f3630a543202f77048a1dd14ff6aa51c257a Author: phantomjinx <p.g...@ph...> Date: Sat May 21 18:54:49 2011 +0100 Update to documentation * Update to documentation. * Thanks to Götzg (goetz.waschk AT gmail.com) for the patch doc/gtkpod.xml | 18 +++++++++--------- doc/hooking-up-the-ipod.html | 4 ++-- doc/the-sysinfo-file.html | 13 ++++++------- 3 files changed, 17 insertions(+), 18 deletions(-) --- diff --git a/doc/gtkpod.xml b/doc/gtkpod.xml index 1ce604c..e28a444 100644 --- a/doc/gtkpod.xml +++ b/doc/gtkpod.xml @@ -32,7 +32,7 @@ <sect2> <title>Introduction</title> <para>The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</para> - <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</para> + <para>gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</para> </sect2> <sect2> <title>Using udev</title><para>For linux distros installed with hal and udev, plugging an ipod in and mounting it becomes a trivial exercise. A device node will normally be created under /dev, eg. /dev/sdc.</para><para>Using udev rules it is possible to "play" and refine this device node to reflect personal requirements. For example, including these udev rules will allow 2 ipods to be loaded at the same time without interfering with one another:</para><programlisting> @@ -51,7 +51,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule"]]> <para> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </para> - <programlisting>mount /dev/sdc2 /mnt/ipod</programlisting> + <programlisting>mount /dev/sdc2 /media/ipod</programlisting> <para>This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</para> <para>However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</para> </sect2> @@ -476,7 +476,7 @@ usb-storage: Status code -75; transferred 0/13 ]]> <para>touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </para> - <para>touch_mnt -- denotes the mount point to your iPod Touch (i.e. the + <para>touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </para> <para>To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -528,16 +528,16 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='making-libgpod-aware-of-the-firewire-guid-title'>Making libgpod Aware of the Firewire GUID</title> <para>Mount your iPod Touch via: </para> - <programlisting>sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other + <programlisting>sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </programlisting> <para>Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </para> - <programlisting><![CDATA[~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> + <programlisting><![CDATA[~/touch_media/iTunesControl$ mkdir Device; cd Device +~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo ]]> </programlisting> <para>Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </para> - <programlisting>./test-firewire-id touch_mnt/ + <programlisting>./test-firewire-id touch_media/ </programlisting> </sect3> <sect3 id='gtkpod-revisited'> @@ -559,11 +559,11 @@ usb-storage: Status code -75; transferred 0/13 ]]> <title id='the-classic-and-nano-three-g-title'>The Classic and Nano3g</title> <para>There are two ways to set up the iPod to make libgpod able to find its firewire id. </para> - <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. + <para>The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </para> <para>Having that file is enough for libgpod to figure out the iPod firewire id. </para> - <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: + <para>The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </para> <programlisting>FirewireGuid: 0xffffffffffffffff </programlisting> diff --git a/doc/hooking-up-the-ipod.html b/doc/hooking-up-the-ipod.html index 75ce7d5..e46ae3a 100644 --- a/doc/hooking-up-the-ipod.html +++ b/doc/hooking-up-the-ipod.html @@ -488,7 +488,7 @@ dd.answer div.label { float: left; } <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.1.â</span>Introduction</span></h2></div> <p class="para block block-first">The iPod has largely been an USB device yet there are older models of iPods that used IEEE1394/ / firewire for their connection interface. Historically, it took something of an effort for linux to recognise the iPod model correctly. However, this situation has greatly improved in recent times where it is now possible to simply plug the iPod into a USB port and have your distro recognise it straight off.</p> -<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /mnt/ipod.</p> +<p class="para block">gtkpod first and foremost relies on the successful mounting of a recognised iPod. Thus, if the iPod cannot be mounted then gtkpod is NOT going to do it for you! Thus, before firing up gtkpod make sure you can see the filesystem of your iPod at its desginated mount point, eg. /media/ipod.</p> </div> <div class="division sect2"> <div class="header"><h2 class="sect2 title"><span class="title"><span class="label">1.1.2.â</span>Using udev</span></h2></div> @@ -509,7 +509,7 @@ NAME="4gbnano", MODE="0664", OPTIONS="last_rule" <p class="para block block-first"> The result of this is that the ipod will be located on a device node and this can be mounted manually using the command (performed as root): </p> -<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /mnt/ipod</pre></div> +<div class=" block programlisting block-indent"><pre class="programlisting">mount /dev/sdc2 /media/ipod</pre></div> <p class="para block">This assumes an iPod is loaded onto the device /dev/sdc and that it is a 2 partition model. It seems that post-2006, iPods have become 1-partition items.</p> <p class="para block">However, it should be noted that moden window managers such as gnome and kde take on the responsibility of managing connected devices. Thus, the result of connecting an iPod will be an icon on the desktop which will either be mounted automatically or can be mounted by the user with a click of the mouse on a popup menu.</p> </div> diff --git a/doc/the-sysinfo-file.html b/doc/the-sysinfo-file.html index ce32b86..79d8f4e 100644 --- a/doc/the-sysinfo-file.html +++ b/doc/the-sysinfo-file.html @@ -506,7 +506,7 @@ dd.answer div.label { float: left; } <p class="para block block-first">touch_ip -- denotes the IP address that is assigned to your iPod Touch (e.g. 192.168.0.27). </p> -<p class="para block">touch_mnt -- denotes the mount point to your iPod Touch (i.e. the +<p class="para block">touch_media -- denotes the mount point to your iPod Touch (i.e. the directory the iPod is mounted on). </p> <p class="para block">To make effective use of the following you have to jailbreak your iPod Touch first (in order to access it via SSH). This document won't go into detail on this topic. One possibility to do this using a computer that runs Microsoft Windows (XP) can be found at: @@ -558,16 +558,15 @@ dd.answer div.label { float: left; } <a name="making-libgpod-aware-of-the-firewire-guid"></a><div class="header"><h3 class="sect3 title"><span class="title"><a name="making-libgpod-aware-of-the-firewire-guid-title"></a><span class="label">1.4.1.4.â</span>Making libgpod Aware of the Firewire GUID</span></h3></div> <p class="para block block-first">Mount your iPod Touch via: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_mnt/ -o allow_other +<div class=" block programlisting block-indent"><pre class="programlisting">sudo sshfs root@touch_ip:Media touch_media/ -o allow_other </pre></div> <p class="para block">Go to the directory 'iTunes_Control' and create (if it does not already exist) a directory named 'Device': </p> -<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_mnt/iTunesControl$ mkdir Device; cd Device -~/touch_mnt/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo +<div class=" block programlisting block-indent"><pre class="programlisting">~/touch_media/iTunesControl$ mkdir Device; cd Device ~/touch_media/iTunesControl/Device$ echo "FirewireGuid: 0xfd98145617c113dc" > SysInfo </pre></div> <p class="para block">Test if libgpod is able to retrieve the FWGUID by changing into the 'tests' subdirectory of libgpod's source directory and runnning: </p> -<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_mnt/ +<div class=" block programlisting block-indent"><pre class="programlisting">./test-firewire-id touch_media/ </pre></div> </div> <div class="division sect3"> @@ -588,11 +587,11 @@ dd.answer div.label { float: left; } <a name="the-classic-and-nano-three-g"></a><div class="header"><h2 class="sect2 title"><span class="title"><a name="the-classic-and-nano-three-g-title"></a><span class="label">1.4.2.â</span>The Classic and Nano3g</span></h2></div> <p class="para block block-first">There are two ways to set up the iPod to make libgpod able to find its firewire id. </p> -<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /mnt/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. +<p class="para block">The 1st one is mostly automated. First, make sure you have libsgutils installed before running configure/autogen.sh. If you built libgpod without it, install it and run configure/make/make install. You should now have an ipod-read-sysinfo-extended tool available. Run it with the iPod device path (eg /dev/sda) and the iPod mount point (eg /media/ipod) as arguments. This may require root privileges. ipod-read-sysinfo-extended will read an XMLfile from the iPod and write it as /media/ipod/iPod_Control/Device/SysInfoExtended. See http://ipodlinux.org/Device_Information for more details about the method used. </p> <p class="para block">Having that file is enough for libgpod to figure out the iPod firewire id. </p> -<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /mnt/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /mnt/ipod). Add to that file the line below: +<p class="para block">The 2nd method requires more manual intervention. First, you need to get your firewire id manually. To do that, run "sudo lsusb -v | grep -i Serial" (without the "") with your iPod plugged in, this should print a 16 character long string like 00A1234567891231. For an iPod Touch, this number will be much longer than 16 characters, the firewire ID is constituted by the first 16 characters. Once you have that number, create/edit /media/ipod/iPod_Control/Device/SysInfo (if your iPod is mounted at /media/ipod). Add to that file the line below: </p> <div class=" block programlisting block-indent"><pre class="programlisting">FirewireGuid: 0xffffffffffffffff </pre></div> |
From: phantomjinx <pha...@us...> - 2011-05-17 21:00:57
|
commit ecd612df178fd5d41471173070a25c003a6cd4a7 Author: phantomjinx <p.g...@ph...> Date: Tue May 17 21:59:52 2011 +0100 Update version.sh script with new version number version.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- diff --git a/version.sh b/version.sh index f32f70e..0386123 100755 --- a/version.sh +++ b/version.sh @@ -4,10 +4,10 @@ if [ -d .git ]; then COMMIT=`git rev-parse --short HEAD` # Use this line for unstable dev builds - REVISION="2.0.2.${COMMIT}" + REVISION="2.1.0.${COMMIT}" # Use this line for releases - #REVISION="2.0.2" + #REVISION="2.1.0" echo $REVISION > version fi |