dette er korrekt, MEN det kan godt være meget "langhåret" for en newbie at sætte sig ind i alt dette. Derfor, læs dette link, det er en nem howto, som virker på Ubuntu Studio:
Os så bliver det desværre heller ikke lettere.
Vedr. den patch, som følger med mms, så har den ikke alt, sorry, men det er ikke min skyld.
Ligeledes kan den nemt drille for dem der ikke er van til at patche. Derfor kommer en patch her, som er "copy and paste" til en ny fil I kalder:
=== modified file 'audio.cpp'
--- audio.cpp 2007-04-01 13:34:49.000000000 +0200
+++ audio.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -1059,7 +1059,7 @@
render->current.add(new PObj(themes->audio_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_music_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_music_dir, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Audio - Information"), "Vera/28", 100, 10,
@@ -1850,7 +1850,7 @@
render->current.add(new PObj(themes->audio_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_music_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_music_dir, 350, 450, 2, NOSCALING));
string header = gettext("Audio - Add files");
if (mode == PLAY)
@@ -1974,7 +1974,7 @@
render->current.add(new PObj(themes->audio_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_music_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_music_dir, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Audio - Add files"), "Vera/28", 100, 10,
@@ -2288,7 +2288,7 @@
themes->audio_header_font1, themes->audio_header_font2,
themes->audio_header_font3, 2));
} else {
- render->current.add(new PObj(themes->startmenu_radio, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_radio, 350, 450, 2, NOSCALING));
render->current.add(new TObj(gettext("Audio - Radio"), "Vera/28", 100, 10,
themes->audio_header_font1, themes->audio_header_font2,
themes->audio_header_font3, 2));
=== modified file 'movie.cpp'
--- movie.cpp 2007-04-01 13:34:49.000000000 +0200
+++ movie.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -1180,7 +1180,7 @@
render->current.add(new PObj(themes->movie_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_movie_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_movie_dir, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Movies"), "Vera/28", 100, 10,
@@ -1407,7 +1407,7 @@
render->current.add(new PObj(themes->movie_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_movie_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_movie_dir, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Movies"), "Vera/28", 100, 10,
=== modified file 'options.cpp'
--- options.cpp 2007-04-01 13:34:49.000000000 +0200
+++ options.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -179,7 +179,7 @@
render->current.add(new PObj(themes->options_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_options, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_options, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(header, "Vera/28", 100, 10,
=== modified file 'pictures.cpp'
--- pictures.cpp 2007-04-01 13:34:49.000000000 +0200
+++ pictures.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -1198,7 +1198,7 @@
render->current.add(new PObj(themes->pictures_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_pictures_dir, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_pictures_dir, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Pictures"), "Vera/28", 100, 10,
=== modified file 'startmenu.cpp'
--- startmenu.cpp 2007-04-01 13:34:49.000000000 +0200
+++ startmenu.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -627,61 +627,45 @@
void Startmenu::print(const startmenu_row& row, const startmenu_item& current_item)
{
+
+ int y = 20;
+ int i = 0;
+ int x_text[] = {395, 315, 290, 305, 300, 315, 285, 265, 400, 430, 430, 430};
+
render->prepare_new_image();
render->current.add(new PObj(themes->startmenu_background, 0, 0, 0, SCALE_FULL));
- int y = 120;
- int x = 0;
-
- if (conf->p_h_res() == 405)
- y = 40;
-
for (list<startmenu_row>::const_iterator iter = startmenu.begin(); iter != startmenu.end(); ++iter)
{
if (iter->name == row.name) {
+ render->current.add(new TObj(iter->name, "Vera/16",25, y+5,
+ themes->audio_header_font1, themes->audio_header_font2,
+ themes->audio_header_font3, 2));
+
for (list<startmenu_item>::const_iterator iter2 = iter->items.begin(); iter2 != iter->items.end(); ++iter2) {
if (current_item.name == iter2->name) {
-
- render->current.add(new PObj("startmenu/marked-left.png", 65, (y-2), 1, NOSCALING));
-
- if (x == 70)
- render->current.add(new PObj("startmenu/marked2.png", 90, (y-2), conf->p_v_res()-220+x-50, 1));
- else if (x == 140)
- render->current.add(new PObj("startmenu/marked3.png", 90, (y-2), conf->p_v_res()-220+x-50, 1));
- else
- render->current.add(new PObj("startmenu/marked.png", 90, (y-2), conf->p_v_res()-220+x-50, 1));
-
- render->current.add(new PObj("startmenu/marked-right.png", 90+conf->p_v_res()-220+x-50, (y-2), 1, NOSCALING));
-
- render->current.add(new TObj(iter2->name, "Vera/22", 75, y+5,
- themes->startmenu_font1, themes->startmenu_font2,
- themes->startmenu_font3, 2));
+ render->current.add(new TObj(iter2->name, "Vera/22", x_text[i], 60,
+ themes->startmenu_font1, themes->startmenu_font2,
+ themes->startmenu_font3, 2));
+ render->current.add(new PObj(iter2->pic, 400, 290, 2, NOSCALING));
}
- render->current.add(new PObj(iter2->pic, conf->p_v_res()-220+x, y, 2, NOSCALING));
- x += 70;
- }
- } else {
- render->current.add(new TObj(iter->name, "Vera/22", 75, y+5,
+ }
+ }
+ else {
+ render->current.add(new TObj(iter->name, "Vera/16",25, y+5,
themes->startmenu_font1, themes->startmenu_font2,
themes->startmenu_font3, 2));
- for (list<startmenu_item>::const_iterator iter2 = iter->items.begin(); iter2 != iter->items.end(); ++iter2) {
- render->current.add(new PObj(iter2->pic, conf->p_v_res()-220+x, y, 2, NOSCALING));
- x += 70;
- }
}
- x = 0;
- y += 51;
+ y += 45;
+ i++;
}
- // render the logo in the startmenu
- render->current.add(new PObj("logo.png", conf->p_v_res()-85, conf->p_h_res()-41, 2, NOSCALING));
-
render->draw("startmenu");
-
render->image_mut.leaveMutex();
}
+
Startmenu::Startmenu()
: movie_loaded(false), pictures_loaded(false), reload_audio(false), reload_movie(false),
reload_pictures(false), reload_epg(false), audio_loaded(false), epg_loaded(false),
@@ -697,39 +681,40 @@
list<startmenu_row> start_menu;
startmenu_row row;
-#ifdef music_hd
- if (conf->p_audio_mode() != NONE)
- // add audio_hd button
-#if !defined(music_disc) && !defined(music_radio)
- row.items.push_back(startmenu_item(gettext("Play music"), "audio_hd",
- themes->startmenu_music_dir));
-#else
- row.items.push_back(startmenu_item(gettext("Play music from harddrive"),
- "audio_hd", themes->startmenu_music_dir));
+
+#ifdef use_tv
+ row.items.push_back(startmenu_item(gettext("Watch TV"), "tv",
+ themes->startmenu_tv));
#endif
+
+#ifdef use_epg
+ // add epg button
+ row.items.push_back(startmenu_item(gettext("View TV Program Guide"), "epg",
+ themes->startmenu_epg));
#endif
-#ifdef music_disc
+ if (row.items.size() != 0) {
+ row.name = gettext(" TV");
+ start_menu.push_back(row);
+
+ row.items.clear();
+ }
+
+#ifdef movie_disc
if (conf->p_cdpath().size() > 0)
- // add cd button
-#if !defined(music_hd) && !defined(music_radio)
- row.items.push_back(startmenu_item(gettext("Play music"), "audio_disc",
- themes->startmenu_music_cd));
+ // add dvd/vcd/svcd button
+#ifdef movie_hd
+ row.items.push_back(startmenu_item(gettext("Play a dvd/vcd/svcd"),
+ "movie_disc",
+ themes->startmenu_movie_cd));
#else
- row.items.push_back(startmenu_item(gettext("Play music from disc"),
- "audio_disc",
- themes->startmenu_music_cd));
-#endif
+ row.items.push_back(startmenu_item(gettext("Play movies"), "movie_disc",
+ themes->startmenu_movie_cd));
#endif
-
-#ifdef music_radio
- // add cd button
- row.items.push_back(startmenu_item(gettext("Play internet radio"),
- "audio_radio", themes->startmenu_radio));
#endif
if (row.items.size() != 0) {
- row.name = gettext("Music");
+ row.name = gettext(" DVD");
start_menu.push_back(row);
row.items.clear();
@@ -747,21 +732,64 @@
#endif
#endif
-#ifdef movie_disc
+ if (row.items.size() != 0) {
+ row.name = gettext("Movies");
+ start_menu.push_back(row);
+
+ row.items.clear();
+ }
+
+
+
+#ifdef music_radio
+ // add cd button
+ row.items.push_back(startmenu_item(gettext("Play internet radio"),
+ "audio_radio", themes->startmenu_radio));
+#endif
+
+ if (row.items.size() != 0) {
+ row.name = gettext("Radio");
+ start_menu.push_back(row);
+
+ row.items.clear();
+ }
+
+
+
+#ifdef music_hd
+ if (conf->p_audio_mode() != NONE)
+ // add audio_hd button
+#if !defined(music_disc) && !defined(music_radio)
+ row.items.push_back(startmenu_item(gettext("Play music"), "audio_hd",
+ themes->startmenu_music_dir));
+#else
+ row.items.push_back(startmenu_item(gettext("Play music from harddrive"),
+ "audio_hd", themes->startmenu_music_dir));
+#endif
+#endif
+
+ if (row.items.size() != 0) {
+ row.name = gettext("Music");
+ start_menu.push_back(row);
+
+ row.items.clear();
+ }
+
+#ifdef music_disc
if (conf->p_cdpath().size() > 0)
- // add dvd/vcd/svcd button
-#ifdef movie_hd
- row.items.push_back(startmenu_item(gettext("Play a dvd/vcd/svcd"),
- "movie_disc",
- themes->startmenu_movie_cd));
+ // add cd button
+#if !defined(music_hd) && !defined(music_radio)
+ row.items.push_back(startmenu_item(gettext("Play music"), "audio_disc",
+ themes->startmenu_music_cd));
#else
- row.items.push_back(startmenu_item(gettext("Play movies"), "movie_disc",
- themes->startmenu_movie_cd));
+ row.items.push_back(startmenu_item(gettext("Play music from disc"),
+ "audio_disc",
+ themes->startmenu_music_cd));
#endif
#endif
if (row.items.size() != 0) {
- row.name = gettext("Movies");
+ row.name = gettext(" CD");
start_menu.push_back(row);
row.items.clear();
@@ -805,8 +833,8 @@
row.items.push_back(startmenu_item(gettext("Play games from harddrive"),
"game_hd", themes->startmenu_game_dir));
#else
- row.items.push_back(startmenu_item(gettext("Play games"), "game_hd",
- themes->startmenu_game_dir));
+// row.items.push_back(startmenu_item(gettext("Play games"), "game_hd",
+// themes->startmenu_game_dir));
#endif
#endif
@@ -835,29 +863,6 @@
row.items.clear();
}
-#ifdef use_epg
- // add epg button
- row.items.push_back(startmenu_item(gettext("View TV Program Guide"), "epg",
- themes->startmenu_epg));
-#endif
-
-#ifdef use_tv
- row.items.push_back(startmenu_item(gettext("Watch TV"), "tv",
- themes->startmenu_tv));
-#endif
-
- if (row.items.size() != 0) {
- row.name = gettext("TV");
- start_menu.push_back(row);
-
- row.items.clear();
- }
-
- if (start_menu.size() == 0) {
- DebugPrint perror(gettext("You disabled every feature, mms is useless."),
- Print::INFO, DebugPrint::INFO, "STARTMENU");
- exit(0);
- }
// options button
row.items.push_back(startmenu_item(gettext("Options"), "options",
=== modified file 'theme.cpp'
--- theme.cpp 2007-04-01 13:34:49.000000000 +0200
+++ theme.cpp 2007-05-28 18:40:47.000000000 +0200
@@ -135,7 +135,7 @@
render->current.add(new PObj(themes->themes_background, 0, 0, 0, SCALE_FULL));
- render->current.add(new PObj(themes->startmenu_themes, 25, 10, 2, NOSCALING));
+ render->current.add(new PObj(themes->startmenu_themes, 350, 450, 2, NOSCALING));
if (themes->show_header) {
render->current.add(new TObj(gettext("Themes"), "Vera/28", 100, 10,
Derefter gemmes filen i den mappe, hvor I har gemt mms source koden.
Og derefter fyrer I denne kommando af i en terminal (husk at gå til den mappe, hvor mms source koden er gemt):
Brug evt.
således I kan adde parametre til configurationen, f.eks.