Spotify
Macro Deck에 포함Spotify 재생을 제어하고, 곡에 좋아요를 표시하고, 재생 목록을 관리하고, 재생 중인 곡을 덱에 표시하세요.
헤더에 Spotify 이름과 로고가 있고 트랙을 재생 중인 전체 커버 스타일과 작은 커버 스타일의 음악 플레이어 위젯 두 개
- 재생, 일시 정지, 건너뛰기, 탐색, 셔플, 반복, 볼륨
- 트랙이나 재생 목록 재생, 또는 버튼을 누를 때 고르기
- 곡에 좋아요 표시, 현재 트랙을 재생 목록에 추가
- 다른 Spotify 기기로 재생 옮기기
- 트랙, 아티스트, 진행률을 위한 음악 플레이어 위젯과 변수
Spotify 연동은 Spotify Web API를 통해 Macro Deck을 Spotify 계정에 연결합니다. 데스크톱 앱, 스마트폰, 스피커 등 그 계정으로 Spotify가 재생되는 곳이라면 어디든 재생을 제어합니다. Spotify가 Macro Deck이 실행 중인 컴퓨터에서 실행될 필요는 없습니다.
연결하려면 Spotify Developer Dashboard에서 작은 앱을 직접 만들고 그 클라이언트 ID와 클라이언트 비밀 값을 Macro Deck에 입력합니다. 그러면 Macro Deck이 Spotify 로그인을 열고, 접근을 한 번 허용하면 됩니다. Web API로 재생을 제어하려면 Spotify Premium이 필요합니다. 이는 Macro Deck이 아니라 Spotify의 규칙입니다.
할 수 있는 일
- 재생, 일시 정지, 건너뛰기, 탐색, 셔플 켜기 또는 끄기, 반복 모드 설정, 볼륨 변경.
- 특정 트랙이나 재생 목록을 시작합니다. 선택을 비워 두면 버튼을 누를 때 Macro Deck이 고르라고 묻습니다.
- 특정 기기에서 재생을 시작하거나, 다른 기기로 재생을 옮기면서 재생 또는 일시 정지 상태를 유지합니다.
- 현재 트랙을 좋아요 표시한 곡에 추가하거나 제거하고, 재생 목록에 추가하거나 제거합니다.
- 음악 플레이어 위젯에 커버, 진행률, 재생 및 건너뛰기 버튼과 함께 재생 중인 곡을 표시합니다.
- 버튼 라벨에
spotify_current_track_name같은 변수를 사용하고, 슬라이더를spotify_volume이나spotify_current_position에 연결합니다.
활용 예:
- 음악이 재생 중인지 일시 정지되었는지 보여 주는 Toggle Play/Pause 버튼.
- 좋아요 곡 토글로 현재 곡이 좋아요 표시한 곡에 있는지 보여 주는 하트 버튼.
- Transfer Playback으로 컴퓨터에서 거실 스피커로 재생을 옮기는 버튼.
spotify_volume에 연결되어 볼륨을 따라가고, 드래그하면 볼륨을 바꾸는 슬라이더.
동작 방식
Macro Deck은 음악이 재생되는 동안 약 3초마다, 일시 정지된 동안 5초마다, 아무것도 재생되지 않을 때 10초마다 Spotify에 재생 상태를 요청합니다. Spotify 앱에서 바꾼 내용은 그 시간 안에 반영됩니다. 액세스 토큰은 백그라운드에서 갱신되므로 Spotify가 접근을 취소할 때만 다시 로그인하면 됩니다. Spotify가 요청 수를 제한하거나 응답하지 않으면 Macro Deck은 잠시 멈추고, 마지막으로 알려진 상태를 유지하며, 계속할 수 있을 때까지 연동 아래 Spotify 페이지에 문제를 표시합니다. Spotify 계정은 하나만 연결할 수 있습니다.
준비물
- Spotify Premium 계정. Spotify는 Premium 계정에만 Web API로 재생을 제어하도록 허용합니다.
- 클라이언트 ID와 클라이언트 비밀 값을 얻기 위해 Spotify Developer Dashboard에 직접 만든 앱.
- Spotify 로그인을 위해 Macro Deck이 실행 중인 컴퓨터의 웹 브라우저.
- 제어할 대상이 있도록 하나 이상의 기기에서 열려 있는 Spotify.
설정하기
1단계: Spotify Developer Dashboard에서 앱 만들기
developer.spotify.com/dashboard에서 Spotify Developer Dashboard를 열고 로그인한 다음 새 앱을 만드세요. 이름과 설명은 아무것이나 괜찮습니다.
2단계: Macro Deck에서 설정 시작
Macro Deck의 사이드바에서 연동을 클릭하고 Spotify를 클릭하세요. 개요 탭의 구성 섹션에서 설정을 클릭하세요. 오른쪽 위의 스위치를 켜도 같은 대화 상자가 열리며, 설정을 마치면 연동이 켜집니다. Spotify 연결 대화 상자에 복사 버튼과 함께 리디렉션 URI가 표시됩니다.
3단계: Spotify 앱에 리디렉션 URI 추가
Spotify 앱 설정에 Macro Deck이 보여 주는 리디렉션 URI를 표시된 그대로 추가하고 저장하세요.
4단계: 클라이언트 ID와 클라이언트 비밀 값 입력
Spotify 앱에서 Client ID와 Client Secret을 복사해 Macro Deck의 클라이언트 ID 및 클라이언트 비밀 값 필드에 붙여 넣으세요. 그런 다음 계속을 누르세요.
5단계: 브라우저에서 접근 허용
Macro Deck이 브라우저에서 Spotify 로그인을 열고, 대화 상자에 **인증을 기다리는 중…**이 표시됩니다. Premium 계정으로 로그인하고 접근을 허용한 다음 Macro Deck으로 돌아오세요. 설정이 자동으로 계속되며, 구성 이름은 Spotify 계정을 따라 정해집니다. 예: Spotify (Alex). 대화 상자에 **설정이 완료되었습니다.**가 표시되면 완료를 클릭하세요.
6단계: 버튼에 액션 추가
덱 페이지에서 사용할 버튼을 클릭하세요. 덱의 잠금이 해제되어 있어야 하며, 오른쪽 위 버튼에 잠금이라고 표시되어 있으면 해제된 상태입니다. 짧게 누르기가 선택된 상태로 편집기가 열립니다. + 액션 추가를 클릭하고 액션 추가 대화 상자 왼쪽에서 Spotify를 선택한 다음 Toggle Play/Pause 같은 액션을 고르세요. 그런 다음 저장을 클릭하세요.
7단계: 버튼 누르기
아무 기기에서나 Spotify로 무언가를 재생한 다음 덱에서 버튼을 누르세요. 재생이 일시 정지되거나 다시 시작됩니다.
액션18
버튼에 넣거나 흐름에서 실행하세요.
- Play
- 재생을 다시 시작합니다.
- Pause
- 재생을 일시 정지합니다.
- Toggle Play/Pause
- 재생과 일시 정지를 전환하고, 버튼에 재생 상태를 표시합니다.
- Next Track
- 다음 트랙으로 건너뜁니다.
- Previous Track
- 이전 트랙으로 건너뜁니다.
- Refresh State
- Spotify에 현재 재생 상태를 즉시 요청합니다.
- Set Volume
- 재생 중인 기기의 볼륨을 0~100%로 설정합니다.
- Volume Up
- 볼륨을 10% 높입니다.
- Volume Down
- 볼륨을 10% 낮춥니다.
- Seek
- 현재 트랙의 특정 위치(초)로 이동합니다.
- Toggle Shuffle
- 셔플을 켜거나 끄거나 전환하고, 켜져 있는지 표시합니다.
- Set Repeat Mode
- 반복을 Off, Repeat Track, Repeat Album/Playlist 중 하나로 설정합니다.
- Play Track
- 검색하거나 좋아요 표시한 곡에서 고른 트랙을 재생하거나, 액션이 실행될 때 고르라고 묻습니다.
- Play Playlist
- 내 재생 목록이나 검색한 재생 목록을 재생하거나, 액션이 실행될 때 고르라고 묻습니다.
- Play on Device
- 특정 Spotify 기기에서 재생을 시작하거나, 액션이 실행될 때 기기를 고르라고 묻습니다.
- Transfer Playback
- 다른 기기로 재생을 옮기고 재생 또는 일시 정지 상태를 유지합니다.
- 좋아요 곡 토글
- 현재 트랙이나 에피소드를 좋아요 표시한 곡에 추가하거나 제거하고, 좋아요 여부를 표시합니다.
- 재생 목록에서 추가 또는 제거
- 현재 트랙이나 에피소드를 재생 목록에 추가하거나 제거하고, 그 재생 목록에 있는지 표시합니다.
트리거8
버튼이나 흐름이 이 이벤트에 반응할 수 있습니다.
- 트랙 변경됨
- 다른 트랙이 재생되기 시작했으며, 제목, 아티스트, 앨범을 함께 제공합니다(음악 플레이어 아래).
- 재생 시작됨
- 재생이 시작되었거나 다시 시작되었습니다(음악 플레이어 아래).
- 재생 일시 중지됨
- 재생이 일시 정지되었습니다(음악 플레이어 아래).
- 재생 중지됨
- 재생이 중지되었습니다(음악 플레이어 아래).
- 재생 기기 변경됨
- 재생이 다른 기기로 옮겨졌습니다(음악 플레이어 아래).
- 볼륨 변경됨
- 볼륨이 바뀌었으며, 새 값과 이전 값을 함께 제공합니다(음악 플레이어 아래).
- 플레이어 연결됨
- Spotify에 접속할 수 있게 되었습니다(음악 플레이어 아래).
- 플레이어 연결 끊김
- Spotify에 더 이상 접속할 수 없습니다(음악 플레이어 아래).
변수19
버튼과 위젯에 이 값을 표시하거나 조건에 사용하세요.
spotify_current_track_name- 재생 중인 트랙의 제목입니다.
spotify_current_artist- 현재 트랙의 아티스트이며, 쉼표로 구분됩니다.
spotify_current_album- 현재 트랙의 앨범입니다.
spotify_playback_state- 재생 상태입니다:
playing,paused또는stopped. spotify_is_playing- 지금 음악이 재생 중인지 여부입니다.
spotify_volume- 볼륨(퍼센트)입니다. 슬라이더 등으로 설정할 수도 있습니다.
spotify_track_duration- 현재 트랙의 길이(초)입니다.
spotify_current_position- 트랙이 재생된 시간(초)입니다. 설정하면 그 위치로 이동합니다.
spotify_progress_percentage- 트랙이 재생된 정도(퍼센트)입니다.
spotify_album_art_url- Macro Deck에 있는 현재 커버의 주소입니다.
spotify_device_name- 재생 중인 기기의 이름입니다.
spotify_device_type- 재생 중인 기기의 유형입니다(예: 컴퓨터, 스피커).
spotify_shuffle_enabled- 셔플이 켜져 있는지 여부입니다.
spotify_repeat_mode- 반복 모드입니다:
off,track또는context. spotify_is_connected- Macro Deck이 Spotify에 접속할 수 있고 사용 가능한 세션이 있는지 여부입니다.
spotify_current_track_url- 현재 트랙의 Spotify 링크입니다.
spotify_current_track_is_liked- 현재 트랙이 좋아요 표시한 곡에 있는지 여부입니다.
spotify_top_track,spotify_top_artist- 가장 많이 재생한 트랙과 아티스트입니다.
spotify_top_tracks,spotify_top_artists- 가장 많이 재생한 트랙과 아티스트의 목록입니다.
위젯1
위젯 선택기에서 덱에 추가하세요.
- 음악 플레이어
- Spotify가 재생하는 트랙, 아티스트, 커버를 진행률 및 재생, 일시 정지, 건너뛰기 버튼과 함께 표시합니다.
자주 묻는 질문
왜 Spotify Premium이 필요한가요?
Spotify는 Premium 계정에만 Web API로 재생을 제어하도록 허용합니다. 무료 계정에서는 Spotify가 명령을 거부하고, Macro Deck은 연동 아래 Spotify 페이지에 Spotify Premium이 필요합니다 문제를 표시합니다. 이는 Macro Deck이 아니라 Spotify의 제한입니다.
왜 Spotify 앱을 직접 만들어야 하나요?
Macro Deck은 직접 소유한 앱의 클라이언트 ID와 클라이언트 비밀 값으로 Spotify와 통신합니다. Spotify는 앱별로 요청 수를 세므로 덱이 다른 사용자와 한도를 나누지 않습니다. 앱은 Spotify Developer Dashboard에서 무료로 1분이면 만들 수 있습니다.
Spotify가 Macro Deck과 같은 컴퓨터에서 실행되어야 하나요?
아니요. Macro Deck은 인터넷을 통해 계정을 제어하므로, 스마트폰이나 Spotify Connect 스피커처럼 그 계정으로 재생하는 어떤 기기의 Spotify든 제어합니다. Play on Device와 Transfer Playback으로 기기를 고릅니다.
Spotify 계정을 여러 개 연결할 수 있나요?
아니요. 이 연동은 구성 하나만 지원합니다. 다시 구성을 선택하면 다른 계정으로 바뀌며, 버튼과 위젯은 계속 동작합니다.
Spotify가 요청을 제한하고 있다고 나옵니다. 어떻게 해야 하나요?
앱의 인증 정보로 너무 많은 요청이 오면 Spotify는 응답을 멈춥니다. Macro Deck은 요청을 잠시 멈추고 언제 다시 시작하는지 알려 줍니다. 한도는 같은 클라이언트 ID를 쓰는 모든 애플리케이션을 합쳐서 세므로, 그 ID를 쓰는 다른 앱을 닫으면 대개 도움이 됩니다.
Spotify 인증 정보는 어디에 저장되나요?
클라이언트 비밀 값과 Spotify가 발급한 토큰은 Macro Deck이 실행 중인 컴퓨터에 암호화되어 저장되며 Spotify로만 전송됩니다. Spotify 비밀번호는 Macro Deck에 입력하지 않으며, Spotify 웹사이트에서 로그인합니다.
음악 및 오디오의 다른 연동
YouTube Music Desktop App
Macro Deck에 포함덱에서 YouTube Music Desktop App의 재생, 볼륨, 평가를 제어하고 재생 중인 곡을 확인하세요.
WebNowPlaying
Macro Deck에 포함WebNowPlaying 확장 프로그램으로 브라우저에서 재생 중인 음악과 동영상을 제어하고 재생 중인 내용을 표시하세요.
Jellyfin
Macro Deck에 포함덱에서 Jellyfin 앱과 TV를 제어하고, 재생 중인 내용을 표시하고, 재생이 시작되거나 멈출 때 반응하세요.
SoundPad
Macro Deck에 포함SoundPad 목록의 사운드를 재생하고, 녹음을 제어하고, 재생 중인 사운드를 덱에 표시하세요.
Voicemeeter
Macro Deck에 포함덱에서 Voicemeeter, Banana, Potato의 게인, 음소거, 라우팅, 매크로 버튼을 제어하세요.