Recursos
Tudo o que o WidPlayer faz, em detalhe.
A página inicial diz para que ele serve. Esta explica como funciona, o que cada app permite e o que o widget pede ao sistema.
Como funciona
O WidPlayer não reproduz áudio. O motor é sempre o app que você já usa, rodando em segundo plano. O widget lê a sessão de Now Playing do macOS — a mesma que alimenta a Central de Controle — e devolve comandos de reprodução para ela. O som, a conta e a biblioteca continuam exatamente onde estão.
São duas camadas. A primeira é universal: funciona com qualquer app que publique Now Playing, mostra faixa, artista e capa e envia play, pause e troca de faixa. O comando vai para a sessão ativa, sem escolher destinatário. A segunda existe só nos apps com dicionário AppleScript — Apple Music e Spotify — e acrescenta posição exata, seek, volume do próprio app e comando endereçado, que atinge o app certo mesmo com outro tocando.
O que cada app permite
Nada nesta tabela foi suposto: cada linha foi observada contra o app real, e a interface se adapta ao resultado.
| App | O que o widget consegue fazer |
|---|---|
| Apple Music | Tudo: posição real, seek, volume do próprio app, shuffle e repeat, comando endereçado. |
| Spotify | Tudo, como o Apple Music — e o seek funciona pelos dois caminhos. |
| Amazon Music | Transporte completo. A barra é só indicador: o app ignora o seek e não publica a posição. Com outro app tocando, o widget mostra a faixa pausada e pode retomá-la (ver Retomada). |
| TIDAL | Transporte completo, mais seek e posição verdadeira vinda do stream. |
| Deezer | Play, pause, próxima e posição verdadeira. Sem "anterior" e sem seek — o app ignora os dois. Retomada fora da sessão, como no Amazon Music. |
| Safari | Transporte completo, seek e posição verdadeira. A sessão se identifica como com.apple.WebKit.GPU. |
| Google Chrome | Play, pause e seek. Sem pular faixa: "próxima" não faz nada e "anterior" rebobina a mídia. |
| YouTube Music | Atalho: abre o PWA ou o site. Quem toca é o navegador, então é ele que aparece como fonte. |
Qualquer outro app que publique Now Playing aparece no widget e aceita, no mínimo, play e pause — inclusive um que o WidPlayer nunca viu. Só entra nesta tabela o que foi medido.
Controle honesto
A barra de progresso só é arrastável onde o seek foi comprovado. O slider de volume diz se está mexendo no volume do próprio app ou no do sistema. O botão que o app engoliria em silêncio aparece desligado, com o motivo — porque clique que não faz nada é pior que controle que assume não dar conta.
No modo fixo — o widget preso a um player escolhido —, um app sem AppleScript não recebe comandos enquanto outro estiver tocando, porque o comando cairia no app errado. Os controles afetados ficam inativos, com o motivo à vista.
Na mesa
- Nível de mesa, em todos os Spaces. Fica abaixo das janelas, como os widgets do sistema, e não rouba o foco. Se preferir, uma opção o mantém acima das janelas.
- Grade nativa. Arraste e ele se alinha à grade de widgets do macOS e lembra onde parou. Se o monitor em que ele estava for desconectado, o widget volta para uma tela visível.
- Dois tamanhos. 2×1, com capa grande e volume vertical; 1×1, com os mesmos controles e volume horizontal. A troca é ao vivo, sem sair do lugar.
- Cor da capa. O vidro é tingido pela cor média da capa que está tocando.
- Letreiro. Título longo rola dentro do card, com pausa a cada volta.
- Atalhos no card. Duplo clique abre o player; clique no ícone da fonte troca de app; clique direito abre o menu completo.
Quando o player trava
Depois de cada comando, o widget confere por 2,5 segundos se o player reagiu — a música começar ou parar, a faixa trocar. Se nada mudar, o card avisa e oferece Reabrir, que encerra o app travado (à força, se ele ignorar o pedido) e o abre de novo.
A recuperação nunca é automática: um alarme falso não pode derrubar o app que estava tocando. Com a permissão de Acessibilidade, o aviso é preciso — “não está respondendo”, com o congelamento confirmado no processo. Sem ela, o widget diz só o que observou: “não respondeu”.
Um limite que não depende do WidPlayer: reabrir um app apaga a fila dele. No Amazon Music, a música não volta a tocar sozinha depois de reaberto.
Retomada de apps pausados
Com outro app tocando, o Amazon Music e o Deezer continuam aparecendo no widget com a faixa em que pararam — título, artista, capa e estado.
Com a opção Retomar apps pausados pelo teclado ligada, o play do widget volta a tocar essa faixa no lugar, sem abrir nem trazer o app para a frente. A opção vem desligada, pede Acessibilidade só quando ligada e confere antes se há um campo de texto em foco no app, para não digitar no lugar errado. O TIDAL não responde a essa técnica e fica de fora.
Volume
O slider diz em que está mexendo. No Apple Music e no Spotify, é o volume do próprio app — o resto do sistema não muda. Nos demais, é o volume do sistema. O botão de mudo age direto no dispositivo de saída do macOS.
Permissões e privacidade
- Automação. O macOS pede na primeira vez que o widget fala com o Apple Music ou o Spotify. Negar não quebra nada: os recursos extras desses apps se desligam e o resto continua.
- Acessibilidade. Opcional. Só é usada pela retomada de apps pausados e para confirmar o travamento de um player.
- Sem conta, sem telemetria. O WidPlayer não pede login e não envia dados de uso. O que você ouve não sai do seu Mac.
- Diagnóstico sob demanda. Nas Preferências, “Copiar diagnóstico” e “Reportar problema” reúnem versões do app e do macOS, arquitetura e o estado das permissões — nunca a faixa em execução. O relatório só chega ao suporte se você mesmo enviar o e-mail.
- Assinado e notarizado. O app é assinado com Developer ID e notarizado pela Apple; o macOS confere a origem antes de abrir.
Requisitos
- macOS 26 ou superior.
- Mac com Apple Silicon.
- Ao menos um app de música que publique Now Playing — Apple Music, Spotify, Amazon Music, TIDAL, Deezer ou um navegador.
- Interface em português e em inglês.