From 9ff1e7ab52b989623a5a4aa7796f2b08e806a013 Mon Sep 17 00:00:00 2001 From: Max Richter Date: Mon, 22 Nov 2021 18:45:44 +0100 Subject: [PATCH] fix(waybar): toggle layout --- configs/lua/autoformat.lua | 46 ----- configs/nvim/lua/.pnpm-debug.log | 14 -- configs/sway/toggle_layout.sh | 17 +- configs/waybar/config | 4 +- configs/waybar/{launch.sh => dev.sh} | 0 configs/waybar/media.log | 88 ++++++++++ configs/waybar/mediaplayer.py | 37 ++-- configs/waybar/mediaplayer_old.py | 146 ++++++++++++++++ configs/waybar/output.mp3 | Bin 0 -> 65200 bytes configs/waybar/song.json | 249 --------------------------- 10 files changed, 254 insertions(+), 347 deletions(-) delete mode 100644 configs/lua/autoformat.lua delete mode 100644 configs/nvim/lua/.pnpm-debug.log rename configs/waybar/{launch.sh => dev.sh} (100%) create mode 100644 configs/waybar/media.log create mode 100755 configs/waybar/mediaplayer_old.py create mode 100644 configs/waybar/output.mp3 delete mode 100644 configs/waybar/song.json diff --git a/configs/lua/autoformat.lua b/configs/lua/autoformat.lua deleted file mode 100644 index d8107b4..0000000 --- a/configs/lua/autoformat.lua +++ /dev/null @@ -1,46 +0,0 @@ -require "format".setup { - ["*"] = { - {cmd = {"sed -i 's/[ \t]*$//'"}} -- remove trailing whitespace - }, - vim = { - { - cmd = {"luafmt -w replace"}, - start_pattern = "^lua << EOF$", - end_pattern = "^EOF$" - } - }, - vimwiki = { - { - cmd = {"prettier -w --parser babel"}, - start_pattern = "^{{{javascript$", - end_pattern = "^}}}$" - } - }, - lua = { - { - cmd = { - function(file) - return string.format("luafmt -l %s -w replace %s", vim.bo.textwidth, file) - end - } - } - }, - go = { - { - cmd = {"gofmt -w", "goimports -w"}, - tempfile_postfix = ".tmp" - } - }, - javascript = { - {cmd = {"prettier -w", "./node_modules/.bin/eslint --fix"}} - }, - markdown = { - {cmd = {"prettier -w"}}, - { - cmd = {"black"}, - start_pattern = "^```python$", - end_pattern = "^```$", - target = "current" - } - } -} diff --git a/configs/nvim/lua/.pnpm-debug.log b/configs/nvim/lua/.pnpm-debug.log deleted file mode 100644 index cdd38b9..0000000 --- a/configs/nvim/lua/.pnpm-debug.log +++ /dev/null @@ -1,14 +0,0 @@ -{ - "0 debug pnpm:scope": { - "selected": 1 - }, - "1 error pnpm": { - "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", - "err": { - "name": "pnpm", - "message": "No package.json (or package.yaml, or package.json5) was found in \"/home/jim/.dotfiles/configs/nvim/lua\".", - "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", - "stack": "pnpm: No package.json (or package.yaml, or package.json5) was found in \"/home/jim/.dotfiles/configs/nvim/lua\".\n at readProjectManifest (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:40641:13)\n at async Object.readProjectManifestOnly (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:40645:28)\n at async Object.readProjectManifestOnly (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:40864:24)\n at async Object.handler (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:129763:24)\n at async /home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:133951:20\n at async run (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:133926:34)\n at async runPnpm (/home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:134137:5)\n at async /home/jim/.asdf/installs/nodejs/16.11.0/pnpm-global/5/node_modules/.pnpm/pnpm@6.17.2/node_modules/pnpm/dist/pnpm.cjs:134129:7" - } - } -} \ No newline at end of file diff --git a/configs/sway/toggle_layout.sh b/configs/sway/toggle_layout.sh index 7531d78..54923dc 100755 --- a/configs/sway/toggle_layout.sh +++ b/configs/sway/toggle_layout.sh @@ -2,7 +2,7 @@ WORKSPACE=$(swaymsg -t get_workspaces --raw | jq '.[] | select(.focused == true)') -WORKSPACE_ID=$(echo $WORKSPACE | jq ".name") +WORKSPACE_ID=$(echo $WORKSPACE | jq ".name" | tr -d '"') WORKSPACE_MODE=$(echo $WORKSPACE | jq ".layout"); MODE_SPLITH='"splith"' @@ -10,17 +10,16 @@ MODE_SPLITV='"splitv"' MODE_TABBED='"tabbed"' MODE_STACKED='"stacked"' -echo $WORKSPACE_MODE +function set_layout(){ + swaymsg "workspace $(swaymsg -t get_workspaces --raw | jq '.[] | select(.focused == true) .name'); layout $1" +} if [ $WORKSPACE_MODE = $MODE_SPLITH ]; then - swaymsg "workspace $WORKSPACE_ID; layout splitv" + set_layout splitv elif [ $WORKSPACE_MODE = $MODE_SPLITV ]; then - swaymsg "workspace $WORKSPACE_ID; layout tabbed" + set_layout tabbed elif [ $WORKSPACE_MODE = $MODE_TABBED ]; then - swaymsg "workspace $WORKSPACE_ID; layout stacking" + set_layout stacking elif [ $WORKSPACE_MODE = $MODE_STACKED ]; then - swaymsg "workspace $WORKSPACE_ID; layout splith" + set_layout splith fi - -echo $WORKSPACE_ID; - diff --git a/configs/waybar/config b/configs/waybar/config index 72002c0..7c4673a 100644 --- a/configs/waybar/config +++ b/configs/waybar/config @@ -1,8 +1,8 @@ { "height": 20, "spacing": 4, - "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], - "modules-center": ["custom/spotify"], + "modules-left": ["sway/workspaces", "sway/mode"], + "modules-center": ["custom/media"], "modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "custom/clock" ], "sway/workspaces": { "disable-scroll": true, diff --git a/configs/waybar/launch.sh b/configs/waybar/dev.sh similarity index 100% rename from configs/waybar/launch.sh rename to configs/waybar/dev.sh diff --git a/configs/waybar/media.log b/configs/waybar/media.log new file mode 100644 index 0000000..b226144 --- /dev/null +++ b/configs/waybar/media.log @@ -0,0 +1,88 @@ + +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Arguments received {'verbose': 0, 'player': 'spotify'} +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Arguments received {'verbose': 0, 'player': 'spotify'} +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Arguments received {'verbose': 0, 'player': 'spotify'} +__main__ DEBUG Initialize player: chromium +__main__ DEBUG New player appeared, but it's not the selected player, skipping +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Arguments received {'verbose': 0, 'player': 'spotify'} +__main__ DEBUG Initialize player: chromium +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ DEBUG chromium is not the filtered player, skipping it +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Initialize player: chromium +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} +__main__ DEBUG Initialize player: chromium +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new playback status +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ INFO Received new metadata +__main__ INFO Writing output +__main__ DEBUG Received signal to stop, exiting +__main__ DEBUG Arguments received {'verbose': 0, 'player': None} diff --git a/configs/waybar/mediaplayer.py b/configs/waybar/mediaplayer.py index 1c98fa0..5ed81db 100755 --- a/configs/waybar/mediaplayer.py +++ b/configs/waybar/mediaplayer.py @@ -3,23 +3,21 @@ import argparse import logging import sys import signal -import time import gi import json +from os.path import expanduser gi.require_version('Playerctl', '2.0') from gi.repository import Playerctl, GLib -import subprocess logger = logging.getLogger(__name__) -playerVisible = False -def write_output(text, player_name): +def write_output(text, player): logger.info('Writing output') - output = {'text': text.replace("&", "&"), - 'class': 'custom-' + player_name, - 'alt': player_name} + output = {'text': text.replace("\n", " ").strip(), + 'class': 'custom-' + player.props.player_name, + 'alt': player.props.player_name} sys.stdout.write(json.dumps(output) + '\n') sys.stdout.flush() @@ -46,32 +44,18 @@ def on_metadata(player, metadata, manager): if player.props.status != 'Playing' and track_info: track_info = ' ' + track_info - write_output(track_info, player.props.player_name) + write_output(track_info, player) -def update_song(): - global playerVisible - while not playerVisible: - result = subprocess.run("./capture_mp3.sh",stdout=subprocess.PIPE) - resultString = result.stdout.decode("utf-8") - print(resultString); - write_output(resultString, "Spotify") - time.sleep(6) - def on_player_appeared(manager, player, selected_player=None): - global playerVisible if player is not None and (selected_player is None or player.name == selected_player): - playerVisible = True init_player(manager, player) else: logger.debug("New player appeared, but it's not the selected player, skipping") def on_player_vanished(manager, player): - global playerVisible logger.info('Player has vanished') - playerVisible = False - update_song() sys.stdout.write('\n') sys.stdout.flush() @@ -81,7 +65,6 @@ def init_player(manager, name): player = Playerctl.Player.new_from_name(name) player.connect('playback-status', on_play, manager) player.connect('metadata', on_metadata, manager) - update_song() manager.manage_player(player) on_metadata(player, player.props.metadata, manager) @@ -90,7 +73,7 @@ def signal_handler(sig, frame): logger.debug('Received signal to stop, exiting') sys.stdout.write('\n') sys.stdout.flush() - loop.quit() + # loop.quit() sys.exit(0) @@ -107,11 +90,11 @@ def parse_arguments(): def main(): - arguments = parse_arguments() # Initialize logging - logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, + LOG=expanduser("~")+"/.dotfiles/configs/waybar/media.log" + logging.basicConfig(level=logging.DEBUG, filename=LOG, format='%(name)s %(levelname)s %(message)s') # Logging is set by default to WARN and higher. @@ -140,8 +123,8 @@ def main(): init_player(manager, player) - update_song() loop.run() + if __name__ == '__main__': main() diff --git a/configs/waybar/mediaplayer_old.py b/configs/waybar/mediaplayer_old.py new file mode 100755 index 0000000..53c3748 --- /dev/null +++ b/configs/waybar/mediaplayer_old.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python3 +import argparse +import logging +import sys +import signal +import time +import gi +import json +gi.require_version('Playerctl', '2.0') +from gi.repository import Playerctl, GLib +import subprocess +from os.path import expanduser +home = expanduser("~") + +logger = logging.getLogger(__name__) + +playerVisible = False + +def write_output(text, player_name): + logger.info('Writing output') + + output = {'text': text.replace("&", "&"), + 'class': 'custom-' + player_name, + 'alt': player_name} + + sys.stdout.write(json.dumps(output) + '\n') + sys.stdout.flush() + + +def on_play(player, status, manager): + logger.info('Received new playback status') + on_metadata(player, player.props.metadata, manager) + +def on_metadata(player, metadata, manager): + logger.info('Received new metadata') + track_info = '' + + if player.props.player_name == 'spotify' and \ + 'mpris:trackid' in metadata.keys() and \ + ':ad:' in player.props.metadata['mpris:trackid']: + track_info = 'AD PLAYING' + elif player.get_artist() != '' and player.get_title() != '': + track_info = '{artist} - {title}'.format(artist=player.get_artist(), + title=player.get_title()) + else: + track_info = player.get_title() + + if player.props.status != 'Playing' and track_info: + track_info = ' ' + track_info + write_output(track_info, player.props.player_name) + + +def update_song(): + global playerVisible + while not playerVisible: + result = subprocess.run("./capture_mp3.sh",stdout=subprocess.PIPE) + resultString = result.stdout.decode("utf-8") + logger.debug(resultString); + write_output(resultString, "Spotify") + time.sleep(6) + +def on_player_appeared(manager, player, selected_player=None): + global playerVisible + if player is not None and (selected_player is None or player.name == selected_player): + playerVisible = True + init_player(manager, player) + else: + logger.debug("New player appeared, but it's not the selected player, skipping") + + +def on_player_vanished(manager, player): + global playerVisible + logger.info('Player has vanished') + playerVisible = False + update_song() + sys.stdout.write('\n') + sys.stdout.flush() + + +def init_player(manager, name): + logger.debug('Initialize player: {player}'.format(player=name.name)) + player = Playerctl.Player.new_from_name(name) + player.connect('playback-status', on_play, manager) + player.connect('metadata', on_metadata, manager) + update_song() + manager.manage_player(player) + on_metadata(player, player.props.metadata, manager) + + +def signal_handler(sig, frame): + logger.debug('Received signal to stop, exiting') + sys.stdout.write('\n') + sys.stdout.flush() + loop.quit() + sys.exit(0) + + +def parse_arguments(): + parser = argparse.ArgumentParser() + + # Increase verbosity with every occurrence of -v + parser.add_argument('-v', '--verbose', action='count', default=0) + + # Define for which player we're listening + parser.add_argument('--player') + + return parser.parse_args() + + +def main(): + + arguments = parse_arguments() + + # Initialize logging + LOG = home+"/.dotfiles/configs/waybar/media.log" logger.setLevel(max((3 - arguments.verbose) * 10, 0)) + logging.basicConfig(stream=sys.stderr, filename=LOG, level=logging.DEBUG, + format='%(name)s %(levelname)s %(message)s') + + logger.setLevel(0) + + # Log the sent command line arguments + logger.debug('Arguments received {}'.format(vars(arguments))) + + manager = Playerctl.PlayerManager() + loop = GLib.MainLoop() + + manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player)) + manager.connect('player-vanished', on_player_vanished) + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + + for player in manager.props.player_names: + if arguments.player is not None and arguments.player != player.name: + logger.debug('{player} is not the filtered player, skipping it' + .format(player=player.name) + ) + continue + + init_player(manager, player) + + update_song() + loop.run() + +if __name__ == '__main__': + main() diff --git a/configs/waybar/output.mp3 b/configs/waybar/output.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2e5673377ff322de895f749df385dbe3a2542538 GIT binary patch literal 65200 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 literal 0 HcmV?d00001 diff --git a/configs/waybar/song.json b/configs/waybar/song.json deleted file mode 100644 index 5c07add..0000000 --- a/configs/waybar/song.json +++ /dev/null @@ -1,249 +0,0 @@ -{ - "location": { - "altitude": 300.0, - "latitude": 45.0, - "longitude": 2.0 - }, - "matches": [ - { - "channel": "0", - "frequencyskew": 0.00008058548, - "id": "341270538", - "offset": 148.84515625, - "timeskew": -0.0023667216 - } - ], - "tagid": "68982327-bef9-4ff3-a426-7fea39f7997f", - "timestamp": 95912955, - "timezone": "Europe/Paris", - "track": { - "albumadamid": "1477092467", - "artists": [ - { - "adamid": "827504058", - "id": "44445618" - } - ], - "genres": { - "primary": "Alternative" - }, - "highlightsurls": { - "artisthighlightsurl": "https://cdn.shazam.com/video/v3/en/US/android/827504058/highlights?affiliate=mttnagencyid%3D769459046716559743%26mttnsiteid%3D125115%26mttn3pid%3Da_custom_779816081798873874%26mttnsub1%3DShazam_android_am%26mttnsub2%3D5348615A-616D-3235-3830-44754D6D5973%26itscg%3D30201%26app%3Dmusic%26itsct%3DShazam_android_am", - "relatedhighlightsurl": "https://cdn.shazam.com/video/v3/en/US/android/44445618/artist-similarities-id-44445618/relatedhighlights?max_artists=5&affiliate=mttnagencyid%3D769459046716559743%26mttnsiteid%3D125115%26mttn3pid%3Da_custom_779816081798873874%26mttnsub1%3DShazam_android_am%26mttnsub2%3D5348615A-616D-3235-3830-44754D6D5973%26itscg%3D30201%26app%3Dmusic%26itsct%3DShazam_android_am" - }, - "hub": { - "actions": [ - { - "id": "1477092472", - "name": "apple", - "type": "applemusicplay" - }, - { - "name": "apple", - "type": "uri", - "uri": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview115/v4/17/c4/ff/17c4ff80-8823-5ce9-fa5a-0c1892129e3b/mzaf_15603304596709002890.plus.aac.ep.m4a" - } - ], - "displayname": "APPLE MUSIC", - "explicit": false, - "image": "https://images.shazam.com/static/icons/hub/android/v5/applemusic_{scalefactor}.png", - "options": [ - { - "actions": [ - { - "name": "hub:applemusic:deeplink", - "type": "intent", - "uri": "intent://music.apple.com/us/album/nothings-older-than-yesterday/1477092467?i=1477092472&mttnagencyid=769459046716559743&mttnsiteid=125115&mttn3pid=a_custom_779816081798873874&mttnsub1=Shazam_android_am&mttnsub2=5348615A-616D-3235-3830-44754D6D5973&itscg=30201&app=music&itsct=Shazam_android_am#Intent;scheme=http;package=com.apple.android.music;action=android.intent.action.VIEW;end" - }, - { - "id": "1477092472", - "name": "hub:applemusic:connect", - "type": "applemusicconnect", - "uri": "https://unsupported.shazam.com" - }, - { - "name": "hub:applemusic:androidstore", - "type": "uri", - "uri": "https://play.google.com/store/apps/details?id=com.apple.android.music&referrer=utm_source=https%3A%2F%2Fmusic.apple.com%2Fsubscribe%3Fmttnagencyid%3D769459046716559743%26mttnsiteid%3D125115%26mttn3pid%3Da_custom_779816081798873874%26mttnsub1%3DShazam_android_am%26mttnsub2%3D5348615A-616D-3235-3830-44754D6D5973%26itscg%3D30201%26app%3Dmusic%26itsct%3DShazam_android_am" - } - ], - "beacondata": { - "providername": "applemusic", - "type": "open" - }, - "caption": "OPEN", - "colouroverflowimage": false, - "image": "https://images.shazam.com/static/icons/hub/android/v5/overflow-open-option_{scalefactor}.png", - "listcaption": "Open in Apple Music", - "overflowimage": "https://images.shazam.com/static/icons/hub/android/v5/applemusic-overflow_{scalefactor}.png", - "providername": "applemusic", - "type": "open" - } - ], - "providers": [ - { - "actions": [ - { - "name": "hub:spotify:searchdeeplink", - "type": "uri", - "uri": "spotify:search:Nothing%27s%20Older%20Than%20Yesterday%20Cari%20Cari" - } - ], - "caption": "Open in Spotify", - "images": { - "default": "https://images.shazam.com/static/icons/hub/android/v5/spotify_{scalefactor}.png", - "overflow": "https://images.shazam.com/static/icons/hub/android/v5/spotify-overflow_{scalefactor}.png" - }, - "type": "SPOTIFY" - }, - { - "actions": [ - { - "name": "hub:youtubemusic:androiddeeplink", - "type": "uri", - "uri": "https://music.youtube.com/search?q=Nothings+Older+Than+Yesterday+Cari+Cari&feature=shazam" - } - ], - "caption": "Open in YouTube Music", - "images": { - "default": "https://images.shazam.com/static/icons/hub/android/v5/youtubemusic_{scalefactor}.png", - "overflow": "https://images.shazam.com/static/icons/hub/android/v5/youtubemusic-overflow_{scalefactor}.png" - }, - "type": "YOUTUBEMUSIC" - }, - { - "actions": [ - { - "name": "hub:deezer:searchdeeplink", - "type": "uri", - "uri": "deezer-query://www.deezer.com/play?query=%7Btrack%3A%27Nothing%5C%27s+Older+Than+Yesterday%27%20artist%3A%27Cari+Cari%27%7D" - } - ], - "caption": "Open in Deezer", - "images": { - "default": "https://images.shazam.com/static/icons/hub/android/v5/deezer_{scalefactor}.png", - "overflow": "https://images.shazam.com/static/icons/hub/android/v5/deezer-overflow_{scalefactor}.png" - }, - "type": "DEEZER" - } - ], - "type": "APPLEMUSIC" - }, - "images": { - "background": "https://is3-ssl.mzstatic.com/image/thumb/Music114/v4/62/5c/d7/625cd78a-6d55-3128-1a55-894d244800c9/pr_source.png/800x800cc.jpg", - "coverart": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/b8/c5/3c/b8c53c9c-489f-3bec-1b25-c232368a1fac/rls00069784.jpg/400x400cc.jpg", - "coverarthq": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/b8/c5/3c/b8c53c9c-489f-3bec-1b25-c232368a1fac/rls00069784.jpg/400x400cc.jpg", - "joecolor": "b:031827p:fdf0dfs:f7831et:cbc5baq:c66e1f" - }, - "isrc": "ATT801713001", - "key": "341270538", - "layout": "5", - "relatedtracksurl": "https://cdn.shazam.com/shazam/v3/en/US/android/-/tracks/track-similarities-id-341270538?startFrom=0&pageSize=20&connected=", - "sections": [ - { - "metadata": [ - { - "text": "Anaana", - "title": "Album" - }, - { - "text": "recordJet", - "title": "Label" - }, - { - "text": "2017", - "title": "Released" - } - ], - "metapages": [ - { - "caption": "Cari Cari", - "image": "https://is3-ssl.mzstatic.com/image/thumb/Music114/v4/62/5c/d7/625cd78a-6d55-3128-1a55-894d244800c9/pr_source.png/800x800cc.jpg" - }, - { - "caption": "Nothing's Older Than Yesterday", - "image": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/b8/c5/3c/b8c53c9c-489f-3bec-1b25-c232368a1fac/rls00069784.jpg/400x400cc.jpg" - } - ], - "tabname": "Song", - "type": "SONG" - }, - { - "beacondata": { - "commontrackid": "70387093", - "lyricsid": "19307144", - "providername": "musixmatch" - }, - "footer": "Writer(s): Stephanie Widmer, Alexander Koeck -Lyrics powered by www.musixmatch.com", - "tabname": "Lyrics", - "text": [ - "Waves are rolling on the beach", - "Sunlight is striking through the trees", - "Heads up, don't look back", - "On the coast of Jamaica, there ain't no looking back", - "", - "Move, nothing's older than yesterday", - "'Cause we're riding, it's just the streets and you and me", - "Heads up, don't look back!", - "On the streets of Tokyo, no looking back", - "C'mon baby, we can stay up all night", - "I stay here till sunrise", - "Come on, don't miss this ride" - ], - "type": "LYRICS", - "url": "https://cdn.shazam.com/lyrics/v1/en/US/android/musixmatch/subtitles/70387093/202/1?token=d3fe124c5cfcec867f24caddbb4fb700" - }, - { - "tabname": "Video", - "type": "VIDEO", - "youtubeurl": "https://cdn.shazam.com/video/v3/-/US/android/341270538/youtube/video?q=Cari+Cari+%22Nothing's+Older+Than+Yesterday%22&c=UCiL526VL2ZWT9pUuUQP52uw" - }, - { - "actions": [ - { - "id": "44445618", - "type": "artistposts" - }, - { - "id": "44445618", - "type": "artist" - } - ], - "avatar": "https://is3-ssl.mzstatic.com/image/thumb/Music114/v4/62/5c/d7/625cd78a-6d55-3128-1a55-894d244800c9/pr_source.png/800x800cc.jpg", - "id": "44445618", - "name": "Cari Cari", - "tabname": "Artist", - "toptracks": { - "url": "https://cdn.shazam.com/shazam/v3/en/US/android/-/tracks/artisttoptracks_44445618?startFrom=0&pageSize=20&connected=" - }, - "type": "ARTIST", - "url": "https://cdn.shazam.com/digest/v1/en/US/android/artist/44445618/recentpost", - "verified": false - }, - { - "tabname": "Related", - "type": "RELATED", - "url": "https://cdn.shazam.com/shazam/v3/en/US/android/-/tracks/track-similarities-id-341270538?startFrom=0&pageSize=20&connected=" - } - ], - "share": { - "avatar": "https://is3-ssl.mzstatic.com/image/thumb/Music114/v4/62/5c/d7/625cd78a-6d55-3128-1a55-894d244800c9/pr_source.png/800x800cc.jpg", - "href": "https://www.shazam.com/track/341270538/nothings-older-than-yesterday", - "html": "https://www.shazam.com/snippets/email-share/341270538?lang=en&country=US", - "image": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/b8/c5/3c/b8c53c9c-489f-3bec-1b25-c232368a1fac/rls00069784.jpg/400x400cc.jpg", - "snapchat": "https://www.shazam.com/partner/sc/track/341270538", - "subject": "Nothing's Older Than Yesterday - Cari Cari", - "text": "I used Shazam to discover Nothing's Older Than Yesterday by Cari Cari.", - "twitter": "I used @Shazam to discover Nothing's Older Than Yesterday by Cari Cari." - }, - "subtitle": "Cari Cari", - "title": "Nothing's Older Than Yesterday", - "type": "MUSIC", - "url": "https://www.shazam.com/track/341270538/nothings-older-than-yesterday", - "urlparams": { - "{trackartist}": "Cari+Cari", - "{tracktitle}": "Nothing%27s+Older+Than+Yesterday" - } - } -}