Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
child_duckling 2022-05-15 20:42:25 -07:00
commit 502a3af68e
12 changed files with 230 additions and 66 deletions

View file

@ -270,7 +270,7 @@ const CiderAudio = {
constructor() {
super();
this._bufferSize = 1024;
this._bufferSize = 2048;
this._buffers = null;
this._initBuffer();
}
@ -296,6 +296,7 @@ const CiderAudio = {
if (this._isBufferFull()) {
this._flush();
}
try{
let dataLength = audioRawData[0].length;
for (let idx=0; idx<dataLength; idx++) {
for (let channel=0; channel < numberOfChannels; channel++) {
@ -303,6 +304,8 @@ const CiderAudio = {
this._buffers[channel][this._bytesWritten] = value;
}
this._bytesWritten += 1;
}} catch (e){
// console.log(e)
}
}
@ -377,7 +380,7 @@ const CiderAudio = {
}
}
CiderAudio.audioNodes.recorderNode.parameters.get('isRecording').setValueAtTime(1, CiderAudio.context.currentTime);
CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.recorderNode);
CiderAudio.audioNodes.intelliGainComp.connect(CiderAudio.audioNodes.recorderNode);
});
clearInterval(searchInt);
@ -543,34 +546,6 @@ const CiderAudio = {
console.debug("[Cider][Audio] CAP - Natural Mode");
break;
case "AGGRESSIVE": // Aggressive
for (let i = 0; i < c_LLPW_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.llpw[i].frequency.value = c_LLPW_FREQUENCIES[i];
CiderAudio.audioNodes.llpw[i].Q.value = c_LLPW_Q[i];
CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i];
}
for (let i = 1; i < c_LLPW_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.llpw[i - 1].connect(CiderAudio.audioNodes.llpw[i]);
}
switch (hierarchy) {
case 'h2_1':
try { CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length - 1].connect(CiderAudio.audioNodes.vibrantbassNode[0]); } catch (e) { }
break;
case 'h1':
try { CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length - 1].connect(CiderAudio.audioNodes.audioBands[0]); } catch (e) { }
break;
case 'h0':
try { CiderAudio.audioNodes.llpw[c_LLPW_FREQUENCIES.length - 1].connect(CiderAudio.context.destination); } catch (e) { }
break;
}
console.debug("[Cider][Audio] CAP - Clarity Mode");
break;
default:
CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver();
CiderAudio.audioNodes.llpw[0].normalize = false;

View file

@ -29,6 +29,7 @@ const app = new Vue({
limit: 10
},
fullscreenLyrics: false,
fullscreenState: ipcRenderer.sendSync("getFullScreen"),
playerLCD: {
playbackDuration: 0,
desiredDuration: 0,
@ -809,7 +810,7 @@ const app = new Vue({
}
numbers.shift()
let peak = Math.max(numbers[6], numbers[7]) / 32768.0
let gain = Math.pow(10, ((-1 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
let gain = Math.pow(10, ((-1.3 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${(Math.log10(gain) * 20).toFixed(2)}' dB`)
try {
//CiderAudio.audioNodes.gainNode.gain.value = (Math.min(Math.pow(10, (replaygain.gain / 20)), (1 / replaygain.peak)))
@ -856,8 +857,29 @@ const app = new Vue({
self.$refs.queue.updateQueue();
}
this.currentSongInfo = a
try {
if (app.mk.nowPlayingItem.flavor.includes("64")) {
if (localStorage.getItem("playingBitrate") !== "64") {
localStorage.setItem("playingBitrate", "64")
CiderAudio.hierarchical_loading();
}
}
else if (app.mk.nowPlayingItem.flavor.includes("256")) {
if (localStorage.getItem("playingBitrate") !== "256") {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
}
else {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
} catch(e) {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
if (app.cfg.audio.normalization) {
// get unencrypted audio previews to get SoundCheck's normalization tag
try {
@ -4130,10 +4152,11 @@ const app = new Vue({
});
},
fullscreen(flag) {
this.fullscreenState = flag;
if (flag) {
ipcRenderer.send('setFullScreen', true);
if (app.mk.nowPlayingItem.type && app.mk.nowPlayingItem.type.toLowerCase().includes("video")) {
document.querySelector('video#apple-music-video-player').requestFullscreen()
// document.querySelector('video#apple-music-video-player').requestFullscreen()
} else {
app.appMode = 'fullscreen';
}
@ -4144,9 +4167,21 @@ const app = new Vue({
});
} else {
ipcRenderer.send('setFullScreen', false);
app.appMode = 'player';
if (app.mk.nowPlayingItem.type && app.mk.nowPlayingItem.type.toLowerCase().includes("video")) {
} else {
app.appMode = 'player';
}
}
},
pip(){
document.querySelector('video#apple-music-video-player').requestPictureInPicture()
// .then(pictureInPictureWindow => {
// pictureInPictureWindow.addEventListener("resize", () => {
// console.log("[PIP] Resized")
// }, false);
// })
},
miniPlayer(flag) {
if (flag) {
this.tmpWidth = window.innerWidth;

View file

@ -2971,12 +2971,81 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
float: left;
display: none;
width: 100%;
height: calc(100% - var(--chromeHeight));
height: 100%;
bottom: 0;
z-index: 100000;
z-index: 100000;
}
#apple-music-video-container {
// AM Web Style Fullscreen Button
#player-fullscreen {
background-size : 50%;
background-position: center;
background-repeat : no-repeat;
filter : opacity(0.6);
// filter: drop-shadow(0px 0px 4px rgb(0 0 0 / 80%));
background-color : transparent;
border-radius : 10px;
transition : 0.2s ease-in-out filter;
bottom : 0;
&:hover {
filter : opacity(1);
transition: 0.2s ease-in-out filter;
}
}
// AM Web Style PiP Button
#player-pip {
background-color: transparent;
border-radius : 10px;
bottom : 0;
filter : opacity(0.6);
transition : 0.2s ease-in-out filter;
&:hover {
filter : opacity(1);
transition: 0.2s ease-in-out filter;
}
}
.playback-info{
position: absolute;
width:100%;
bottom: 0;
padding: 20px 40px;
background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 50%);
.song-artist{
font-size: 1.7rem;
font-weight: bold;
}
.song-name{
font-size: 1.2rem;
font-weight: bold;
color:rgb(255,255,255,0.8);
}
}
input[type="range"]{
align-self: center;
height: 4px;
border-radius: .5rem;
margin-inline: 10px;
}
.song-progress input[type="range"]{
appearance: initial;
&::-webkit-slider-thumb {
box-shadow: 0px 0px 0px #000000;
border: 1px solid #39404D;
background: #fff;
height:0.7rem;
width:0.7rem;
border-radius: 50%;
cursor: pointer;
-webkit-appearance: none;
}
}
}
#apple-music-video-player {
position: absolute;
@ -3000,10 +3069,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
width: 100%;
height: 100%;
.playback-info{
position: absolute;
bottom: 2vw;
left: 2vw;
width: 97%;
.song-progress {
display: flex;
}
@ -3073,7 +3138,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
margin: 10px;
right: 50px;
border-radius: 100%;
background: rgb(255 255 255 / 50%);
display: flex;
justify-content: center;
align-items: center;
@ -3092,7 +3156,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
margin: 10px;
right: 0px;
border-radius: 100%;
background: rgb(255 255 255 / 50%);
display: flex;
justify-content: center;
align-items: center;

View file

@ -62,16 +62,6 @@
:
'')}}
</div>
<div id="player-pip"
@click="document.querySelector('video#apple-music-video-player').requestPictureInPicture()"
title="Picture-in-Picture">
<%- include("../svg/pip.svg") %>
</div>
<div id="player-fullscreen"
@click="document.querySelector('video#apple-music-video-player').requestFullscreen()"
title="Fullscreen">
<%- include("../svg/fullscreen.svg") %>
</div>
<div class="playback-info music-player-info">
<div class="song-artist-album-content"
style="display: inline-block; -webkit-box-orient: horizontal; white-space: nowrap;">
@ -120,7 +110,19 @@
<button class="playback-button--small lyrics"
:style="{'opacity': 0.3, 'pointer-events': 'none'}"></button>
</template>
</div>
</div>
<div id="player-pip"
@click="pip()"
title="Picture-in-Picture"
v-b-tooltip.hover>
<%- include("../svg/pip.svg") %>
</div>
<div id="player-fullscreen"
@click="fullscreen(!fullscreenState)"
title="Fullscreen"
v-b-tooltip.hover>
<%- include("../svg/fullscreen.svg") %>
</div>
</div>
</div>
</div>

View file

@ -39,9 +39,6 @@
<option value="NATURAL">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
</option>
<option value="AGGRESSIVE">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
</option>
</select>
</div>
</div>