Skip to content

Commit f78ab4d

Browse files
LasercarEliteMasterEric
authored andcommitted
Save chart editor vocal volume and playback speed
Also opponent hitsounds
1 parent 1d1c140 commit f78ab4d

File tree

2 files changed

+72
-10
lines changed

2 files changed

+72
-10
lines changed

source/funkin/save/Save.hx

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,10 @@ class Save
187187
metronomeVolume: 1.0,
188188
hitsoundVolumePlayer: 1.0,
189189
hitsoundVolumeOpponent: 1.0,
190+
instVolume: 1.0,
191+
playerVoiceVolume: 1.0,
192+
opponentVoiceVolume: 1.0,
193+
playbackSpeed: 1.0,
190194
themeMusic: true
191195
},
192196

@@ -433,6 +437,57 @@ class Save
433437
return data.optionsChartEditor.hitsoundVolumeOpponent;
434438
}
435439

440+
public var chartEditorInstVolume(get, set):Float;
441+
442+
function get_chartEditorInstVolume():Float
443+
{
444+
if (data.optionsChartEditor.instVolume == null) data.optionsChartEditor.instVolume = 1.0;
445+
446+
return data.optionsChartEditor.instVolume;
447+
}
448+
449+
function set_chartEditorInstVolume(value:Float):Float
450+
{
451+
// Set and apply.
452+
data.optionsChartEditor.instVolume = value;
453+
flush();
454+
return data.optionsChartEditor.instVolume;
455+
}
456+
457+
public var chartEditorPlayerVoiceVolume(get, set):Float;
458+
459+
function get_chartEditorPlayerVoiceVolume():Float
460+
{
461+
if (data.optionsChartEditor.playerVoiceVolume == null) data.optionsChartEditor.playerVoiceVolume = 1.0;
462+
463+
return data.optionsChartEditor.playerVoiceVolume;
464+
}
465+
466+
function set_chartEditorPlayerVoiceVolume(value:Float):Float
467+
{
468+
// Set and apply.
469+
data.optionsChartEditor.playerVoiceVolume = value;
470+
flush();
471+
return data.optionsChartEditor.playerVoiceVolume;
472+
}
473+
474+
public var chartEditorOpponentVoiceVolume(get, set):Float;
475+
476+
function get_chartEditorOpponentVoiceVolume():Float
477+
{
478+
if (data.optionsChartEditor.opponentVoiceVolume == null) data.optionsChartEditor.opponentVoiceVolume = 1.0;
479+
480+
return data.optionsChartEditor.opponentVoiceVolume;
481+
}
482+
483+
function set_chartEditorOpponentVoiceVolume(value:Float):Float
484+
{
485+
// Set and apply.
486+
data.optionsChartEditor.opponentVoiceVolume = value;
487+
flush();
488+
return data.optionsChartEditor.opponentVoiceVolume;
489+
}
490+
436491
public var chartEditorThemeMusic(get, set):Bool;
437492

438493
function get_chartEditorThemeMusic():Bool
@@ -1714,10 +1769,16 @@ typedef SaveDataChartEditorOptions =
17141769
var ?instVolume:Float;
17151770

17161771
/**
1717-
* Voices volume in the Chart Editor.
1772+
* Player voice volume in the Chart Editor.
1773+
* @default `1.0`
1774+
*/
1775+
var ?playerVoiceVolume:Float;
1776+
1777+
/**
1778+
* Opponent voice volume in the Chart Editor.
17181779
* @default `1.0`
17191780
*/
1720-
var ?voicesVolume:Float;
1781+
var ?opponentVoiceVolume:Float;
17211782

17221783
/**
17231784
* Playback speed in the Chart Editor.

source/funkin/ui/debug/charting/ChartEditorState.hx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2292,13 +2292,13 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
22922292
currentTheme = save.chartEditorTheme;
22932293
metronomeVolume = save.chartEditorMetronomeVolume;
22942294
hitsoundVolumePlayer = save.chartEditorHitsoundVolumePlayer;
2295-
hitsoundVolumePlayer = save.chartEditorHitsoundVolumeOpponent;
2295+
hitsoundVolumeOpponent = save.chartEditorHitsoundVolumeOpponent;
22962296
this.welcomeMusic.active = save.chartEditorThemeMusic;
22972297

2298-
// audioInstTrack.volume = save.chartEditorInstVolume;
2299-
// audioInstTrack.pitch = save.chartEditorPlaybackSpeed;
2300-
// audioVocalTrackGroup.volume = save.chartEditorVoicesVolume;
2301-
// audioVocalTrackGroup.pitch = save.chartEditorPlaybackSpeed;
2298+
menubarItemVolumeInstrumental.value = save.chartEditorInstVolume;
2299+
menubarItemVolumeVocalsPlayer.value = save.chartEditorPlayerVoiceVolume;
2300+
menubarItemVolumeVocalsOpponent.value = save.chartEditorOpponentVoiceVolume;
2301+
menubarItemPlaybackSpeed.value = save.chartEditorPlaybackSpeed;
23022302
}
23032303

23042304
public function writePreferences(hasBackup:Bool):Void
@@ -2324,9 +2324,10 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
23242324
save.chartEditorHitsoundVolumeOpponent = hitsoundVolumeOpponent;
23252325
save.chartEditorThemeMusic = this.welcomeMusic.active;
23262326

2327-
// save.chartEditorInstVolume = audioInstTrack.volume;
2328-
// save.chartEditorVoicesVolume = audioVocalTrackGroup.volume;
2329-
// save.chartEditorPlaybackSpeed = audioInstTrack.pitch;
2327+
save.chartEditorInstVolume = menubarItemVolumeInstrumental.value;
2328+
save.chartEditorPlayerVoiceVolume = menubarItemVolumeVocalsPlayer.value;
2329+
save.chartEditorOpponentVoiceVolume = menubarItemVolumeVocalsOpponent.value;
2330+
save.chartEditorPlaybackSpeed = menubarItemPlaybackSpeed.value;
23302331
}
23312332

23322333
public function populateOpenRecentMenu():Void

0 commit comments

Comments
 (0)