( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
A note on getting started patching...
jump into debian, cd to /usr/local/src, get the sources
root@dev:/usr/local/src# apt-get source alsaplayer
get the build-dep's
root@dev:/usr/local/src# apt-get build-dep alsaplayer
jump into the sources folder and check for references to title.
root@dev:/usr/local/src/alsaplayer-0.99.80# grep -R "title" ./*
Code:
./alsaplayer/Playlist.h: std::string title;
./alsaplayer/playitem.h: gchar *title;
./alsaplayer/playitem.h:void ap_playitem_set_title (ApPlayItem *playitem,
./alsaplayer/playitem.h: const gchar *title);
./alsaplayer/playitem.h:G_CONST_RETURN gchar* ap_playitem_get_title (ApPlayItem *playitem);
./alsaplayer/input_plugin.h: * The song title.
./alsaplayer/input_plugin.h: char title[128];
./alsaplayer/control.h:int ap_get_title(int session, char *str);
./app/ControlSocket.cpp: if (item->title.size()) {
./app/ControlSocket.cpp: sprintf(tmp, "%s %s", item->title.c_str(),
./app/ControlSocket.cpp: ap_message_add_string(reply, "string", info.title);
./app/Playlist.cpp:// t - sort by title in descending direction,
./app/Playlist.cpp:// T - sort by title in ascending direction,
./app/Playlist.cpp: case 't': // Compare titles, descending
./app/Playlist.cpp: COMPARE(title, DESCENDING);
./app/Playlist.cpp: case 'T': // Compare titles, ascending
./app/Playlist.cpp: COMPARE(title, ASCENDING);
./app/Playlist.cpp: (*p).title = info.title;
./app/Playlist.cpp: /* Ignore title/length lines */
./app/Main.cpp: if (ap_get_title(use_session, res) && strlen(res))
./app/Main.cpp: fprintf(stdout, "title: %s\n", res);
./ChangeLog:* Madej: fixed song title in title bar when unknow name
./ChangeLog:* Madej: song title in title bar with preference option
./ChangeLog: the title bar and the quit menu.
./ChangeLog:* Song artist - title - time displaying in the playlist.
./debian/alsaplayer-gtk.menu:?package(alsaplayer-gtk,alsaplayer-common):needs="X11" section="Applications/Sound" title="AlsaPlayer" \
./debian/alsaplayer-gtk.menu: longtitle="AlsaPlayer (GTK interface)" command="/usr/bin/alsaplayer -i gtk2"
./debian/alsaplayer-daemon.menu: title="AlsaPlayer (daemon)" \
./debian/alsaplayer-daemon.menu: longtitle="AlsaPlayer (daemon interface)" \
./debian/alsaplayer-xosd.menu: title="AlsaPlayer (xosd)" \
./debian/alsaplayer-xosd.menu: longtitle="AlsaPlayer (xosd daemon interface)" \
./examples/speed.c: char title[AP_TITLE_MAX];
./examples/speed.c: if (ap_get_title(session_id, title) &&
./examples/speed.c: printf("File playing: %s - %s\n", title, artist);
./input/vorbis/vorbis_engine.c: t = vorbis_comment_query(comment, "title", 0);
./input/vorbis/vorbis_engine.c: snprintf(info->title, sizeof(info->title), "%s", t ? t : "");
./input/vorbis/vorbis_engine.c: snprintf(info->title, sizeof(info->title), "%s", data->path);
./input/audiofile/audiofile_engine.c: strcpy(info->title, data->filename);
./input/sndfile/sndfile_engine.c: strcpy(info->title, data->filename);
./input/mad/mad_engine.c: fill_from_id3v2 (info->title, buf + name_size + start,
./input/mad/mad_engine.c: sizeof (info->title), size - start);
./input/mad/mad_engine.c: /* title */
./input/mad/mad_engine.c: strncpy (info->title, buf + 3, 30);
./input/mad/mad_engine.c: rstrip (info->title);
./input/mad/mad_engine.c: sprintf(data->sinfo.title, "%s", data->filename);
./input/mad/mad_engine.c: if ((len = strlen(data->sinfo.title))) {
./input/mad/mad_engine.c: s = data->sinfo.title + (len - 1);
./input/mad/mad_engine.c: while (s != data->sinfo.title && *s == ' ')
./input/mad/mad_engine.c: snprintf(data->sinfo.title, 128, "%s", s);
./input/cdda/cdda_engine.c: * open the filename and put music title's into the global variable
./input/cdda/cdda_engine.c: info->title[0] = 0;
./input/cdda/cdda_engine.c: sprintf(info->title, "Full CD length playback");
./input/cdda/cdda_engine.c: sprintf(info->title, "%s", data->tracks[data->track_nr].track);
./input/cdda/cdda_engine.c: //alsaplayer_error("title = %s\nalbum = %s\nartist = %s",
./input/cdda/cdda_engine.c: // info->title, info->album, info->artist);
./input/flac/FlacPlugin.cpp: if (t && ! t->title ().empty ())
./input/flac/FlacPlugin.cpp: strncpy (info->title, t->title ().c_str (), 128);
./input/flac/FlacPlugin.cpp: strncpy (info->title, fname, 128);
./input/flac/FlacPlugin.cpp: info->title[0] = 0;
./input/flac/FlacPlugin.cpp: info->title[0] = 0;
./input/flac/FlacId3v1Tag.cpp: char title[31];
./input/flac/FlacId3v1Tag.cpp: memcpy(tag.title, tag.raw+3, 30);
./input/flac/FlacId3v1Tag.cpp: _title = tag.title;
./input/flac/FlacMetadataTag.cpp: { "TITLE", &FlacMetadataTag::_title },
./input/flac/FlacTag.h: const std::string title ();
./input/flac/FlacTag.h: std::string _title;
./input/flac/FlacTag.h:FlacTag::title ()
./input/flac/FlacTag.h: return _title;
./input/mikmod/mikmod_engine.c: strcpy (info->title, (data->mf->songname[0]) ? data->mf->songname : data->fname);
./input/wav/wav_engine.c: info->title[0] = 0;
./interface/xosd/xosd.cpp: if (*info.title)
./interface/xosd/xosd.cpp: xosd_display(osd, 1, XOSD_string, info.title);
./interface/xosd/xosd.cpp: xosd_display(osd, 1, XOSD_string, "Playing unknown title");
./interface/gtk2/info_window.h: GtkWidget *title;
./interface/gtk2/info_window.h: void set_title(const gchar*);
./interface/gtk2/gtk_interface.cpp: char title_string[256];
./interface/gtk2/gtk_interface.cpp: sprintf(info.title, _("No stream"));
./interface/gtk2/gtk_interface.cpp: sprintf(title_string, "%s - %s", info.artist, info.title);
./interface/gtk2/gtk_interface.cpp: infowindow->set_title(title_string);
./interface/gtk2/gtk_interface.cpp: if (prefs_get_bool(ap_prefs, "gtk2_interface", "play_on_title", 0))
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), title_string);
./interface/gtk2/gtk_interface.cpp: } else if (strlen(info.title)) {
./interface/gtk2/gtk_interface.cpp: sprintf(title_string, "%s", info.title);
./interface/gtk2/gtk_interface.cpp: infowindow->set_title(title_string);
./interface/gtk2/gtk_interface.cpp: if (prefs_get_bool(ap_prefs, "gtk2_interface", "play_on_title", 0))
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), title_string);
./interface/gtk2/gtk_interface.cpp: infowindow->set_title(p);
./interface/gtk2/gtk_interface.cpp: if (prefs_get_bool(ap_prefs, "gtk2_interface", "play_on_title", 0))
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), p);
./interface/gtk2/gtk_interface.cpp: infowindow->set_title(info.path);
./interface/gtk2/gtk_interface.cpp: if (prefs_get_bool(ap_prefs, "gtk2_interface", "play_on_title", 0))
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), info.path);
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(main_window), "AlsaPlayer");
./interface/gtk2/info_window.cpp: GtkWidget *title_label;
./interface/gtk2/info_window.cpp: title_label = gtk_label_new(NULL);
./interface/gtk2/info_window.cpp: g_object_set_data(G_OBJECT(frame), "title_label", title_label);
./interface/gtk2/info_window.cpp: gtk_layout_put(GTK_LAYOUT(main_box), title_label, 0, 0);
./interface/gtk2/info_window.cpp: title = GTK_WIDGET(g_object_get_data(G_OBJECT(window), "title_label"));
./interface/gtk2/info_window.cpp: gtk_widget_set_size_request (this->title, width - x - this->rightwidth - this->labelheight, -1);
./interface/gtk2/info_window.cpp: gtk_layout_move(GTK_LAYOUT(this->layout), this->title, x, y);
./interface/gtk2/info_window.cpp:void InfoWindow::set_title(const gchar *text)
./interface/gtk2/info_window.cpp: gtk_label_set_text (GTK_LABEL(this->title), text);
./interface/gtk2/info_window.cpp: gtk_widget_modify_fg(this->title, GTK_STATE_NORMAL, &color);
./interface/gtk2/info_window.cpp: gtk_widget_modify_font(this->title, fonts);
./interface/gtk2/PlaylistWindow.cpp: if (item->title.size())
./interface/gtk2/PlaylistWindow.cpp: list_item[2] = g_strdup(item->title.c_str());
./interface/gtk2/PlaylistWindow.cpp: column = gtk_tree_view_column_new_with_attributes("title", renderer, "text", 2, NULL);
./interface/gtk2/PreferencesWindow.cpp: GtkWidget *title = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), "pref_play_on_title"));
./interface/gtk2/PreferencesWindow.cpp: what = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title));
./interface/gtk2/PreferencesWindow.cpp: prefs_set_bool(ap_prefs, "gtk2_interface", "play_on_title", what);
./interface/gtk2/PreferencesWindow.cpp: gtk_window_set_title(GTK_WINDOW(main_window), "AlsaPlayer");
./interface/gtk2/PreferencesWindow.cpp: GtkWidget *pref_play_on_title;
./interface/gtk2/PreferencesWindow.cpp: pref_play_on_title = gtk_check_button_new_with_label(_("Show title in title-bar"));
./interface/gtk2/PreferencesWindow.cpp: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(pref_play_on_title), prefs_get_bool(ap_prefs, "gtk2_interface", "play_on_title", FALSE));
./interface/gtk2/PreferencesWindow.cpp: g_object_set_data(G_OBJECT(dialog), "pref_play_on_title", pref_play_on_title);
./interface/gtk2/PreferencesWindow.cpp: gtk_box_pack_start(GTK_BOX(pref_play), pref_play_on_title, FALSE, FALSE, 0);
./interface/text/text.cpp: // single title loop
./interface/text/text.cpp: snprintf(out_text, i, "%s - %s", info.artist, info.title);
./interface/text/text.cpp: else if (*info.title)
./interface/text/text.cpp: snprintf(out_text, i, "%s", info.title);
./interface/text/text.cpp: snprintf(out_text, i, "(no title information available)");
./libalsaplayer/message.c:int ap_get_title(int session, char *str)
./po/de.po:msgid "Show title in title-bar"
./po/en_GB.po:msgid "Show title in title-bar"
./po/fr.po:msgid "Show title in title-bar"
./po/alsaplayer.pot:msgid "Show title in title-bar"
./po/pl.po:msgid "Show title in title-bar"
./po/sv.po:msgid "Show title in title-bar"
./scopes2/logbarfft/logbarfft.c: gtk_window_set_title(GTK_WINDOW(fftscope_win), "logFFTscope");
./scopes2/monoscope/monoscope.c: gtk_window_set_title(GTK_WINDOW(monoscope_win), "Monoscope");
./scopes2/synaescope/synaescope.c: gtk_window_set_title(GTK_WINDOW(synaescope_win), "Synaescope");
./scopes2/spacescope/spacescope.c: gtk_window_set_title(GTK_WINDOW(spacescope_win), "Spacescope");
./scopes2/blurscope/blurscope.c: gtk_window_set_title(GTK_WINDOW(window),"Blurscope");
./scopes2/levelmeter/levelmeter.c: gtk_window_set_title(GTK_WINDOW(levelmeter_win), "Levelmeter");
Oh so a couple then...
Any way we can get that list down a bit???
root@dev:/usr/local/src/alsaplayer-0.99.80# grep -R "gtk_window_set_title" ./*
Code:
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), title_string);
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), title_string);
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), p);
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(playlist_window->GetWindow())), info.path);
./interface/gtk2/gtk_interface.cpp: gtk_window_set_title(GTK_WINDOW(main_window), "AlsaPlayer");
./interface/gtk2/PreferencesWindow.cpp: gtk_window_set_title(GTK_WINDOW(main_window), "AlsaPlayer");
./scopes2/logbarfft/logbarfft.c: gtk_window_set_title(GTK_WINDOW(fftscope_win), "logFFTscope");
./scopes2/monoscope/monoscope.c: gtk_window_set_title(GTK_WINDOW(monoscope_win), "Monoscope");
./scopes2/synaescope/synaescope.c: gtk_window_set_title(GTK_WINDOW(synaescope_win), "Synaescope");
./scopes2/spacescope/spacescope.c: gtk_window_set_title(GTK_WINDOW(spacescope_win), "Spacescope");
./scopes2/blurscope/blurscope.c: gtk_window_set_title(GTK_WINDOW(window),"Blurscope");
./scopes2/levelmeter/levelmeter.c: gtk_window_set_title(GTK_WINDOW(levelmeter_win), "Levelmeter");
would be a bare minimum I would think.
anything else we should be looking at?
root@dev:/usr/local/src/alsaplayer-0.99.80# grep -R "gtk_message_dialog_new" ./*
Code:
./interface/gtk2/gtk_interface.cpp: md = gtk_message_dialog_new(GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error !"));
./interface/gtk2/gtk_interface.cpp: md = gtk_message_dialog_new(GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, _("Warning !"));
./interface/gtk2/gtk_interface.cpp: md = gtk_message_dialog_new(GTK_WINDOW(parent), (GtkDialogFlags) (GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Excuse me !"));
I would start there. Then see what I missed.
ALSO: ./interface/gtk2/AboutWindow.cpp:
I kind of recall there being no obvious way to set the "default about" windows sub-title - so perhaps think about eliding it.
Hope it helps.
Last edited by twobob; 10-04-2013 at 06:26 AM.
|