diff --git a/assets/language/lang_en.lua b/assets/language/lang_en.lua index 669a8bd2..97dca0c3 100644 --- a/assets/language/lang_en.lua +++ b/assets/language/lang_en.lua @@ -213,6 +213,7 @@ local L={ main_out_multi="Multiple", musicroom_title="Musicroom", + musicroom_richloop="Rich Loop", musicroom_fullband="Full Band", musicroom_section='Chorus', musicroom_autoplay="Auto Change", diff --git a/assets/language/lang_eo.lua b/assets/language/lang_eo.lua index dfd31072..5f5b4ded 100644 --- a/assets/language/lang_eo.lua +++ b/assets/language/lang_eo.lua @@ -213,6 +213,7 @@ local L={ main_out_multi="Multoblaj", musicroom_title="Muzika ĉambro", + -- musicroom_richloop="Rich Loop", musicroom_fullband="Plena Bando", musicroom_section='Koruso', musicroom_autoplay="Aŭtomata kantoŝanĝo", diff --git a/assets/language/lang_it.lua b/assets/language/lang_it.lua index f896a314..361dc048 100644 --- a/assets/language/lang_it.lua +++ b/assets/language/lang_it.lua @@ -213,6 +213,7 @@ local L={ main_out_multi="Multigiocatore", musicroom_title="Stanza musicale", + -- musicroom_richloop="Rich Loop", musicroom_fullband="Banda Piena", musicroom_section='Coro', musicroom_autoplay="Cambio automatico", diff --git a/assets/language/lang_zh.lua b/assets/language/lang_zh.lua index 5c023b06..ba4fdaae 100644 --- a/assets/language/lang_zh.lua +++ b/assets/language/lang_zh.lua @@ -213,6 +213,7 @@ local L={ main_out_multi="联机", musicroom_title="音乐室", + musicroom_richloop="富循环", musicroom_fullband='全频带', musicroom_section='副歌', musicroom_autoplay="自动切换", diff --git a/assets/scene/musicroom.lua b/assets/scene/musicroom.lua index 90b26151..e7618585 100644 --- a/assets/scene/musicroom.lua +++ b/assets/scene/musicroom.lua @@ -8,7 +8,7 @@ local sin=math.sin local totalBgmCount -local selected,fullband,section +local selected,richloop,fullband,section local collectCount=0 local noProgress=false local autoplay=false ---@type number | false @@ -53,11 +53,13 @@ local musicListBox do selected=musicListBox:getItem() local fullbandMode=SONGBOOK[selected].intensity and (noProgress or PROGRESS.getBgmUnlocked(selected)==2) local sectionMode=SONGBOOK[selected].section and (noProgress or PROGRESS.getBgmUnlocked(selected)==2) + local loopMode=SONGBOOK[selected].hasloop scene.widgetList.fullband:setVisible(fullbandMode) scene.widgetList.section:setVisible(sectionMode) - scene.widgetList.progressBar.fillColor=SONGBOOK[selected].looppoint and COLOR.LD or COLOR.L + scene.widgetList.progressBar.fillColor=SONGBOOK[selected].hasloop and COLOR.LD or COLOR.L if fullbandMode then fullband=fullband==true else fullband=nil end if sectionMode then section=section==true else section=nil end + if loopMode then richloop=true else richloop=nil end playBgm(selected,fullband,noProgress) end end @@ -366,7 +368,8 @@ scene.widgetList={ {type='button_invis',pos={.5,.5},x=0,y=360,w=160,cornerR=80,text=CHAR.icon.stop,fontSize=90,code=WIDGET.c_pressKey'space',visibleTick=function() return FMOD.music.getPlaying() end}, -- Auto Switching Switch - {type='switch',pos={.5,.5},x=-650,y=150,h=50,widthLimit=260,labelPos='right',disp=function() return autoplay end, + {type='switch',pos={.5,.5},x=-650,y=90,h=50,widthLimit=260,labelPos='right', + disp=function() return autoplay end, name='autoplay',text=LANG'musicroom_autoplay', sound_on=false,sound_off=false, code=function() @@ -379,8 +382,24 @@ scene.widgetList={ end, }, + -- Richloop Switch + {type='switch',pos={.5,.5},x=-650,y=150,h=50,widthLimit=260,labelPos='right', + disp=function() return richloop end, + name='autoplay',text=LANG'musicroom_richloop', + sound_on=false,sound_off=false, + code=function() + richloop=not richloop + if FMOD.music.getPlaying() then + FMOD.music.setParam('loop',richloop and 1 or 0) + end + scene.widgetList.progressBar.fillColor=(SONGBOOK[selected].hasloop and richloop) and COLOR.LD or COLOR.L + end, + visibleTick=function() return richloop~=nil end, + }, + -- Fullband Switch - {type='switch',pos={.5,.5},x=-650,y=360,h=50,widthLimit=260,labelPos='right',disp=function() return fullband end, + {type='switch',pos={.5,.5},x=-650,y=360,h=50,widthLimit=260,labelPos='right', + disp=function() return fullband end, name='fullband',text=LANG'musicroom_fullband', sound_on=false,sound_off=false, code=function() @@ -392,13 +411,12 @@ scene.widgetList={ scene.load() end end, - visibleTick=function() - return fullband~=nil - end, + visibleTick=function() return fullband~=nil end, }, -- Section Switch - {type='switch',pos={.5,.5},x=-650,y=430,h=50,widthLimit=260,labelPos='right',disp=function() return section end, + {type='switch',pos={.5,.5},x=-650,y=430,h=50,widthLimit=260,labelPos='right', + disp=function() return section end, name='section',text=LANG'musicroom_section', sound_on=false,sound_off=false, code=function()