Hallo zusammen,
ich würde gerne dem Lautstärkebalken eine andere Position geben.
Im Menue gibt es ja normal, unten & aus. Nun würde ich in meinem
Versuch den Wert für normal gerne etwas ändern. Doch leider finde ich ihn
nicht. Kann mir da jemand auf die Sprünge helfen.
THX
OSD Audio-Status
-
- Einsteiger
- Beiträge: 216
- Registriert: Dienstag 1. Juni 2004, 12:24
-
- Einsteiger
- Beiträge: 216
- Registriert: Dienstag 1. Juni 2004, 12:24
Hab nun diesenCode in der neutrino.cpp gefunden:
Doch die voreinstellung für "aus"-"normal"-"unten" kann ich leider nicht zuordnen...
Code: Alles auswählen
void CNeutrinoApp::setVolume(const neutrino_msg_t key, const bool bDoPaint)
{
neutrino_msg_t msg = key;
int dx = 256;
int dy = 40;
int x = (((g_settings.screen_EndX- g_settings.screen_StartX)- dx) / 2) + g_settings.screen_StartX;
int y = g_settings.screen_EndY- 100;
if( g_settings.widget_osd == 1 )
{
y = y + 50;
}
fb_pixel_t * pixbuf = NULL;
if( (bDoPaint) && (g_settings.widget_osd != 2 ) )
{
pixbuf = new fb_pixel_t[dx * dy];
if(pixbuf!= NULL)
frameBuffer->SaveScreen(x, y, dx, dy, pixbuf);
frameBuffer->paintIcon("volume.raw",x,y, COL_INFOBAR);
}
neutrino_msg_data_t data;
unsigned long long timeoutEnd;
char current_volume = g_Controld->getVolume((CControld::volume_type)g_settings.audio_avs_Control);
do
{
if (msg <= CRCInput::RC_MaxRC)
{
if (msg == CRCInput::RC_plus)
{
if((CControld::volume_type)g_settings.audio_avs_Control==CControld::TYPE_LIRC)
{
current_volume = 60; //>50 is plus
}
else
{
if (current_volume < 100 - 5)
current_volume += 5;
else
current_volume = 100;
}
}
else if (msg == CRCInput::RC_minus)
{
if((CControld::volume_type)g_settings.audio_avs_Control==CControld::TYPE_LIRC)
{
current_volume = 40; //<40 is minus
}
else
{
if (current_volume > 5)
current_volume -= 5;
else
current_volume = 0;
}
}
else
{
g_RCInput->postMsg(msg, data);
break;
}
g_Controld->setVolume(current_volume, (CControld::volume_type)g_settings.audio_avs_Control);
if((CControld::volume_type)g_settings.audio_avs_Control==CControld::TYPE_LIRC)
{
current_volume = 50;
}
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_INFOBAR] / 2);
}
else if (msg == NeutrinoMessages::EVT_VOLCHANGED)
{
current_volume = g_Controld->getVolume((CControld::volume_type)g_settings.audio_avs_Control);
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_INFOBAR] / 2);
}
else if (handleMsg(msg, data) & messages_return::unhandled)
{
g_RCInput->postMsg(msg, data);
break;
}
if( (bDoPaint) && (g_settings.widget_osd != 2 ) )
{
int vol = current_volume << 1;
frameBuffer->paintBoxRel(x + 40 , y + 12, vol , 15, COL_INFOBAR_PLUS_3);
frameBuffer->paintBoxRel(x + 40 + vol, y + 12, 200 - vol, 15, COL_INFOBAR_PLUS_1);
}
CLCD::getInstance()->showVolume(current_volume);
if (msg != CRCInput::RC_timeout)
{
g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd );
}
}
while (msg != CRCInput::RC_timeout);
if( (bDoPaint) && (g_settings.widget_osd != 2 ) && (pixbuf!= NULL) )
{
frameBuffer->RestoreScreen(x, y, dx, dy, pixbuf);
delete [] pixbuf;
}
}
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Wenn ich den Code richtig lese, dann gilt folgendes:
normal: g_settings.widget_osd == 0
unten: g_settings.widget_osd == 1
aus: g_settings.widget_osd == 2
Die Y-Position von "normal" verstellst du hier:
Die Y-Position von "unten" verstellt du hier:
Achte also darauf, dass ein Ändern von "normal" auch Auswirkungen auf "unten hat".
normal: g_settings.widget_osd == 0
unten: g_settings.widget_osd == 1
aus: g_settings.widget_osd == 2
Die Y-Position von "normal" verstellst du hier:
Code: Alles auswählen
int y = g_settings.screen_EndY- 100;
Code: Alles auswählen
int y = g_settings.screen_EndY- 100;
if( g_settings.widget_osd == 1 )
{
y = y + 50;
}