2021-10-15 11:57
Saw
白景屹 - Good Kid Bad Guy (2021) [CN]
<div class="thread-content">
<div class="thread-inner">
<div class="album-info">
<div class="album-lockup">
<div class="album-artwork">
<img class="album-artwork-img" src="https://i.postimg.cc/WzY2KwPw/T002-R500x500-M000001uc-YSQ3-ZIe42-1.jpg">
</div>
</div>
<div class="header-and-tracks">
<div class="album-header">
<div class="album-header-meta">
<h1 class="album-title">Good Kid Bad Guy</h1>
<h2 class="album-artist">BrAnTB白景屹</h2>
<h3 class="album-meta-info">國語流行樂 • Oct. 14, 2021</h3>
</div>
<div class="album-notes">
<div class="description-container">
<div class="description-data">
<p>
<span class="line-title">
介紹
</span>
白马悬空,纵横成长线 | BrAnTB白景屹首张专辑上线 「进入随意门,切换时间点与坐标,遇到的人和事不同,判断随之千变万化,无论人声鼎沸或沉寂潜伏,坚韧鲜活的自我心脏依然跳动,成了值得相信的唯一。 细数BrAnTB白景屹的近期词条,关乎自我的改变与成长,稳稳占据了头部。」 今日,BrAnTB白景屹首张个人全新专辑《GOOD KID BAD GUY》正式上线! 究竟是谁眼中的好孩子,又是谁眼中的坏家伙,新专辑将概念锁定为「GOOD KID BAD GUY」,充盈哲学性能的表达背后,折射出BrAnTB白景屹的当下状态,即无畏聚光灯的多面角度,重要的是自我和解与成长书写,随着一些私域感悟逐渐沉淀,融进每首新作品。 保留初心的热忱永未褪去,如今的小白相比过往,更多了一份笃定与成熟,甚至拿出重回巅峰的宣言,词句间透露“I’m ready”,浸入这张专辑的创作灵魂里。 循迹BrAnTB白景屹成长演变,完整刻录进专辑故事线中。决定告别过往,最后与自我和解并重新出发,密布迂回的交叉线,但重合的部分并非相同,以音乐诠释,你可以遇见多面向的BrAnTB白景屹。 #陷入迷失的本身是一种寻找 进入专辑,率先袭来《LOST BOY》,急速变幻的节拍频次中,宣告BrAnTB白景屹强势回归的姿态。坠入氛围感极致的《MOONWALKER》,全然展现BrAnTB白景屹对于起伏情绪的细微掌控,营造无边界的浮想异域 同步上线的,还有《LOST BOY》《MOONWALKER》的MV,两支视觉影像均注入惊奇冒险的强烈概念,一支展开遭遇险境的星际返航计划;一支闯入异族派对上演吸血鬼梦魇。MV以迅疾切换的镜头语言,高浓度色彩的视效冲击,立体输出BrAnTB白景屹的塑新形象。 《连本带利》携带街头气息出没,快意潇洒的flow,处处流露BrAnTB白景屹闯荡江湖的坚定身段。 #重返高空,锐不可挡 回归并非回到过去,对于BrAnTB白景屹而言,续写传统意味着自己是破坏重组者,如同《关羽》中以一敌百的霸气外露,又在《风筝》中存放的思乡情切,形成一刚一柔的情感对比差,融合东方元素的不同创作尝试,支撑着小白轻松游走于多种风格。 当画风切换到强输出,BrAnTB白景屹以皇冠、游戏、名利为主题意象,搭载律动强烈的编曲,不断诠释捍卫王者与荣誉的自我态度。《ONE PLAY》、《GAME TIME》、《MY AIR》三首接连释出,在音乐质感与歌曲成熟调性的把控上,如今的BrAnTB白景屹已了然于心。 #告别是不必攥紧的瞬间 随着过往心路一一还原,以真诚的人声诉说道别时的心绪,《MEMORY DOSE》向内交代自己,《雨落在窗外》向外与他人告别,构成BrAnTB白景屹告别过往的决心。 在这张专辑中,亦有小白另一面——柔软的感性抒发,《胡娜娜》以迷离而流动的氛围圈住耳朵,《空欢喜》则以得与失的视角,刻画怅然若失的情感心境。 #以自我接纳翻开下一页 与自己和解是个漫长的过程,历经三年,当《白龙马》的熟悉旋律回响,白龙马的形象传递出勇敢无畏的闯劲,清晰感知到,小白的初心始终未曾离开。作为专辑的主题曲目,《GOOD KID BAD GUY》更深入体现BrAnTB白景屹的多重思考,重新出发的自我决心准备就绪,一句「通往未来那扇门由我推开」已揭晓。最后一首《BACK HOME FREESTYLE》,记录了小白蜕变的全新状态,诸如「像个孩子一般但眼神里多了分坚定的睿智」、「保持心存感激地活在当下每一秒」。 既有桀骜张扬的神情,也有内心独白的流淌,聆听这15首新曲,是一个无法简单对号入座的过程,代入BrAnTB白景屹的视角,不被定义是种多维度能量的延伸,意味着无限进阶的未来景象。 创作内外,沉浸生活是BrAnTB白景屹的灵感来源,对自我接纳的绝对真诚,无惧改变或不变,小白选择目光直视前方,格外笃定。
--quoted from qq music
</p>
</div>
</div>
</div>
</div>
<div class="tracklist">
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>1</span>
</div>
<div class="tracklist-col song-title">
<span>LOST BOY</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>2</span>
</div>
<div class="tracklist-col song-title">
<span>MOONWALKER</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>3</span>
</div>
<div class="tracklist-col song-title">
<span>连本带利</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>4</span>
</div>
<div class="tracklist-col song-title">
<span>关羽</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>5</span>
</div>
<div class="tracklist-col song-title">
<span>风筝</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>6</span>
</div>
<div class="tracklist-col song-title">
<span>ONE PLAY</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>7</span>
</div>
<div class="tracklist-col song-title">
<span>GAME TIME</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>8</span>
</div>
<div class="tracklist-col song-title">
<span>MY AIR</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>9</span>
</div>
<div class="tracklist-col song-title">
<span>MEMORY DOES</span>
</div>
</div>
<div class="tracklist-row track">
<div class="tracklist-col song-index">
<span>10</span>
</div>
<div class="tracklist-col song-title">
<span>雨落窗台外</span>
</div>
</div>
</div>
<div class="bottom-metadata">
<div class="song-stat-container">
共 10 首
</div>
<div class="release-stat-container">
SCENE •
WEB •
MP3
320K
</div>
<div class="release-footnotes">
ZIP • PASSWORD PROTECTED •
106.9 MB
</div>
<div class="hidden-info-wrapper">
**** Hidden Message *****
</div>
</div>
</div>
</div>
<div class="download-info">
<div class="streaming">
<audio controls preload=auto id="audio-player" src="https://files.catbox.moe/w2ysff.mp3">
瀏覽器不支援
<span>audio</span> element
,請更新到新版本的Chrome或Firefox。
</audio>
</div>
<div class="button-content">
<button class="download-button" id="download-button" type="button">
下載連結
</button>
</div>
</div>
</div>
</div>
<div id="downloadModal" class="download-modal">
<div class="download-modal-content">
<div class="download-modal-header">
<h1 class="download-modal-title">載點</h1>
<span class="download-modal-close">×</span>
</div>
<div class="download-modal-body">
</div>
<div class="download-modal-footer">
</div>
</div>
</div>
<script id="tracks-data" type="application/json">[{"name": "LOST BOY"}, {"name": "MOONWALKER"}, {"name": "\u8fde\u672c\u5e26\u5229"}, {"name": "\u5173\u7fbd"}, {"name": "\u98ce\u7b5d"}, {"name": "ONE PLAY"}, {"name": "GAME TIME"}, {"name": "MY AIR"}, {"name": "MEMORY DOES"}, {"name": "\u96e8\u843d\u7a97\u53f0\u5916"}]</script>
<script id="link-set" type="application/json">[{"url": "https://1fichier.com/?hx5f6shc61vcjodfmpkh", "passcode": ""}, {"url": "https://anonfiles.com/15D3M1Nbu6", "passcode": ""}, {"url": "https://pan.baidu.com/s/1rjtYrZXkGuwGI2RLX2_KIg", "passcode": "bn5f"}]</script>
<script id="css-src" type="application/json">".thread-content {line-height: 1.4;color: rgba(0, 0, 0, 0.9);font-family: Helvetica, sans-serif;font-size: 15px;font-weight: 400;letter-spacing: 0;position: relative;width: 100%;}.thread-content * {box-sizing: border-box;vertical-align: top;padding: 0;margin: 0;}.thread-content h1,.thread-content h2,.thread-content h3 {display: block;}.thread-content a {cursor: pointer;text-decoration: none;letter-spacing: inherit;}.thread-inner {display: flex;flex-direction: column;margin-left: 20px;margin-right: 20px;padding: 0 0 0 50px;}.album-info {padding-top: 20px;padding-bottom: 20px;display: flex;flex-direction: column;align-items: center;flex: 2 0;}.album-lockup {padding: 20px;top: 40px;}.album-artwork {box-shadow: 0 4px 8px 0 rgb(0 0 0 / 10%), 0 10px 13px 0 rgb(0 0 0 / 11%);position: relative;}.album-artwork-img {width: 350px;height: 350px;}.header-and-tracks {width: 100%;flex: 1;}.album-header {display: flex;flex-flow: column;}.album-header-meta {flex: 1;width: 100%;}.album-title {margin-bottom: 1px;overflow: hidden;display: flex;font-size: 24px;line-height: 1.16667;font-weight: 600;letter-spacing: 0;margin-block-start: 8px;margin-block-end: 8px;margin-inline-start: 0px;margin-inline-end: 0px;}.album-artist {font-size: 24px;line-height: 1.16667;font-weight: 400;letter-spacing: 0;color: #543900;margin-block-start: 6px;margin-block-end: 6px;margin-inline-start: 0px;margin-inline-end: 0px;}.album-meta-info {text-transform: uppercase;margin-top: 4px;color: rgba(60, 60, 67, 0.6);font-size: 11px;line-height: 1.18182;font-weight: 500;letter-spacing: 0;margin-block-start: 5px;margin-block-end: 5px;margin-inline-start: 0px;margin-inline-end: 0px;}.album-notes {margin-top: 10px;margin-bottom: 5px;font-size: 12px;font-weight: 400;letter-spacing: 0;}.description-container {overflow: hidden;position: relative;}.description-data\u003Ep {display: inline;}.line-title {color: rgba(60, 60, 67, 0.6);}.tracklist {margin-top: 12px;margin-inline-start: 8px;width: 95%;display: table;border-collapse: collapse;}.tracklist .tracklist-row {display: table-row;color: rgba(60, 60, 67, 0.6);height: 45px;border-bottom: 0.25px solid rgba(0, 0, 0, 0.15);}.tracklist .tracklist-col {padding-top: 0;padding-bottom: 0;display: table-cell;vertical-align: middle;}.tracklist-col.song-index {width: 2.5rem;padding-left: 5px;}.tracklist .song-title {overflow: unset;color: rgba(0, 0, 0, 0.8);}.tracklist .playable {cursor: pointer;}.tracklist .playable:hover {background-color: rgb(247, 247, 247);}.tracklist .playing {font-weight: 600;background-color: rgb(247, 247, 247);}.tracklist .playing \u003E .song-title::before {content: \"\";display: inline-block;width: 0;height: 0;border: 8px solid transparent;border-left: 12px solid #afafaf;vertical-align: text-bottom;}.bottom-metadata {color: rgba(60, 60, 67, 0.6);padding-top: 20px;font-size: 11px;font-weight: 500;letter-spacing: 0;}.song-stat-container,.release-stat-container,.release-footnotes {padding-bottom: 1px;}.hidden-info-wrapper {padding-top: 2px;}.hidden-info-content {font-weight: 500;color: rgba(0, 0, 0, 0.6);}.download-info {padding-top: 20px;padding-bottom: 15px;display: flex;flex-flow: column;flex: 0 0;}.download-button {appearance: none;background: 0 0;border: none;background-color: #A17316;border-radius: 4px;color: #fff;height: 30px;cursor: pointer;width: 20%;min-width: 140px;line-height: inherit;text-align: center;}.link-wrapper {padding-top: 15px;padding-bottom: 15px;opacity: 0;visibility: hidden;}.link-content {vertical-align: text-bottom;}.download-link a {color: rgba(0, 0, 0, 0.9);font-size: 14px;font-weight: 400;}.download-link a:hover {color: #A1276B;}.link-passcode {color: rgba(60, 60, 67, 0.6);font-size: 14px;font-weight: 500;}.show {visibility: visible;opacity: 1;transition: visibility 0s linear 0s, opacity 300ms;}.download-modal {display: none;position: fixed;z-index: 999;left: 0;top: 0;width: 100%; /* Full width */height: 100%; /* Full height */overflow: hidden; /* Enable scroll if needed */background-color: rgba(0,0,0,0.6);}.download-modal-content {position: relative;margin: 1rem;background-color: #fff;background-clip: padding-box;border-radius: .3rem;}.download-modal-header {display: flex;padding: 1rem;border-bottom: 1px solid #dee2e6;justify-content: space-between;align-items: center;}.download-modal-close {font-size: 1.5rem;font-weight: 600;}.download-modal-close:hover,.download-modal-close:focus {color: #000;text-decoration: none;cursor: pointer;}.download-modal-body {padding: 1rem;}.download-modal-body .segment {display: flex;flex-wrap: wrap;flex-flow: column;padding: 1rem 0;border-bottom: 1px solid #dee2e6;}.download-modal-body .segment:first-child {padding-top: 0;}.download-modal-body .segment:last-child {border-bottom: none;padding-bottom: 0;}.download-modal-body .download-link {padding-block-start: 0.4rem;display: flex;flex-flow: row;justify-content: space-between;}.link-passcode {font-weight: 300;text-shadow: #a7a7a7 0px 0px 10px;}.download-modal-body a {overflow-wrap: anywhere;}.download-modal-footer {display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-end;padding: .75rem;border-top: 1px solid #dee2e6;}.download-info .button-content {margin-top: 2rem;}@media only screen and (min-width: 576px) {.download-modal-content {margin: 6.75rem auto;max-width: 500px;}}@media only screen and (min-width: 1200px) {.thread-inner {flex-direction: row;align-items: flex-start;max-width: 1400px;margin: auto;}.download-info {position: sticky;top: 0;padding-top: 40px;align-items: center;}}"</script>
<script>document.styleSheets[0].cssRules[111].style.removeProperty('overflow');</script>
<script>
const tracks = JSON.parse(document.getElementById('tracks-data').textContent);
const links = JSON.parse(document.getElementById('link-set').textContent);
const dlModal = document.getElementById("downloadModal");
const downloadBtn = document.getElementById("download-button");
var tracksDiv = document.querySelectorAll('.track');
var audioPlayer = document.getElementById('audio-player');
tracksDiv.forEach(function (element, index) {
if (tracks[index].hasOwnProperty('previewUrl')) {
element.classList.add('playable');
element.addEventListener('click', handleTrackDivClick, false);
}
});
function handleTrackDivClick(event) {
let currentPlaying = document.querySelector('.track.playing');
let clicked = event.currentTarget;
let index = Array.prototype.indexOf.call(clicked.parentElement.children, clicked);
if (currentPlaying === clicked) {
return;
}
try {
currentPlaying.classList.remove('playing');
currentPlaying.classList.add('playable');
} catch (error) {
// no track is playing
}
clicked.classList.remove('playable');
clicked.classList.add('playing');
audioPlayer.src = tracks[index].previewUrl;
audioPlayer.play();
}
function injectCss(css) {
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
head.appendChild(style);
style.type = 'text/css';
if (style.styleSheet) {
// This is required for IE8 and below.
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
}
function restyleForumHiddenContent(elemSet) {
function removeChildrenBr(elem) {
let brs = elem.getElementsByTagName('br');
while (brs.length) {
elem.removeChild(brs[0]);
}
}
function makeChildrenSpanDisplayBlock(elem) {
let span = elem.getElementsByTagName('span');
for (let counter = 0; counter < span.length; counter++) {
span[counter].style.display = 'block';
}
}
for (let counter = 0; counter < elemSet.length; counter++) {
removeChildrenBr(elemSet[counter]);
makeChildrenSpanDisplayBlock(elemSet[counter]);
}
}
function populateDownloadModal(modal, link_set) {
let segment = document.createElement("div");
segment.classList = ["segment"];
segment.innerHTML = "<div class=\"release-meta\"><h3></h3></div>"
for (let y = 0; y < link_set.length; y++) {
let linkDiv = document.createElement("div");
linkDiv.classList = ["download-link"];
linkDiv.innerHTML = "<a href=\"#\"></a><div class=\"link-passcode\"></div>";
linkDiv.querySelector("a").textContent = link_set[y].url;
linkDiv.querySelector("a").addEventListener('click', handleAElemClick, false);
linkDiv.querySelector(".link-passcode").textContent = link_set[y].passcode ? link_set[y].passcode : '';
segment.appendChild(linkDiv);
}
modal.querySelector(".download-modal-body").appendChild(segment);
}
function handleDownloadBtnClick(e) {
dlModal.style.display = "block";
populateDownloadModal(dlModal, links);
}
function handleAElemClick(e) {
e.target.id = 'download-link';
window.open(e.target.innerText);
fireApi();
}
function resetDownloadModal(modal) {
let e = modal.querySelector(".download-modal-body");
while (e.firstChild) {
e.removeChild(e.firstChild);
}
}
downloadBtn.addEventListener('click', handleDownloadBtnClick, false);
document.querySelector(".download-modal-close").onclick = function () {
dlModal.style.display = "none";
resetDownloadModal(dlModal);
}
window.onclick = function (event) {
if (event.target === dlModal) {
dlModal.style.display = "none";
resetDownloadModal(dlModal);
}
}
injectCss(JSON.parse(document.getElementById('css-src').textContent));
restyleForumHiddenContent(document.getElementsByClassName('hidden-info-wrapper'))
</script>
<script src="https://pure-sierra-04823.herokuapp.com/static/dsca/dsca-link.js" async></script>
[[i] 本帖最后由 thea 于 2021-12-21 15:07 编辑 [/i]]