EmulationStation icon indicating copy to clipboard operation
EmulationStation copied to clipboard

Theme UI sounds e.g <sound name="systemscroll"> only half implemented

Open UnluckyForSome opened this issue 6 years ago • 3 comments

Currently, within a theme's .xml, only:

	<sound name="launch">
		<path>./art/launch.wav</path>
	</sound>

seems to be implemented. I read somewhere these were one of the last things that the original ES developer was working on before abandoning the project, so they never got round to adding the rest. Looking at old theme files, it looks like support was originally intended for the following:

	<sound name="systemscroll">
		<path>./art/navigate.wav</path>
	</sound>
	
	<sound name="systemselect">
		<path>./art/systemselect.wav</path>
	</sound>
	
	<sound name="listscroll">
		<path>./art/navigate.wav</path>
	</sound>
	
	<sound name="back">
		<path>./art/back.wav</path>
	</sound>
	
	<sound name="launch">
		<path>./art/launch.wav</path>
	</sound>
	
	<sound name="menuopen">
		<path>./art/menu.wav</path>
	</sound>

I know a scroll sound can be selected with:

	<textlist name="gamelist">
		<scrollSound>./art/scrollsound.wav</scrollSound>
	</textlist>

But I think this tag is old, and:

	<sound name="systemscroll">
		<path>./art/navigate.wav</path>
	</sound>

...was intended to replace it. The system launch sound:

	<sound name="launch">
		<path>./art/launch.wav</path>
	</sound>

Appears to be coded in and works, so perhaps adding the others wouldn't be so difficult?

Many thanks!

UnluckyForSome avatar Sep 15 '18 12:09 UnluckyForSome

As I said in #155 , <sound name="launch"> work, <sound name="back"> only work if you are in a subfolder and get back to the parent folder, and I'm not sure but I think I saw a <sound name="select"> somewhere but it doesn't work.

benjdero avatar Sep 21 '18 17:09 benjdero

I don't know if it helps at all. But I made a fork with system sounds about two and a half years ago. Looking back, I don't know why I worked off of the branch old_master instead of master, but here it is:

https://github.com/trigger-segfault/EmulationStation/tree/old_master

Do note that sounds are not that great. I had issues with the Raspberry Pi not producing good quality audio, where running EmulationStation on my desktop did.

trigger-segfault avatar Jun 05 '19 02:06 trigger-segfault

So we already have this 3 with half baked implementation: menuOpen, back, launch. It seems like the most wanted sounds are system scroll and game list scroll.

From what I've seen it doesn't seems as hard as I thought but first we need to agree on the syntax. I propose the following:

<view name="basic, detailed, grid, system">
	<sound name="menuOpen">
		<path>./art/menu.wav</path>
	</sound>
	<!-- Apply on system scroll in "system" view and game list scroll in "basic"/"detailed"/"grid" views -->
	<sound name="scroll">
		<path>./art/scroll.wav</path>
	</sound>
	<!-- Apply on system launch in "system" view and game launch in "basic"/"detailed"/"grid" views -->
	<sound name="launch">
		<path>./art/launch.wav</path>
	</sound>
	<!-- No effect in "system" view -->
	<sound name="back">
		<path>./art/back.wav</path>
	</sound>
</view>

This would allow you to have different sounds for system scroll and game list scroll:

<view name="system">
	<sound name="scroll">
		<path>./art/system_scroll.wav</path>
	</sound>
</view>
<view name="basic, detailed, grid">
	<sound name="scroll">
		<path>./art/game_scroll.wav</path>
	</sound>
</view>

But I'm not sure we could play the system scroll sound when switching system using the quick system select.

benjdero avatar Jun 30 '20 22:06 benjdero