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
- 
				Grabber66
- Einsteiger 
- Beiträge: 216
- Registriert: Dienstag 1. Juni 2004, 12:24
- 
				Grabber66
- 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;
	}
}
- 
				Gaucho316
- 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;
}