Skip to content

Commit

Permalink
Merge origin/development into development
Browse files Browse the repository at this point in the history
  • Loading branch information
Vincent Eichhorn committed Jul 9, 2024
2 parents 84c7d29 + 32dbce9 commit 4fd1b91
Show file tree
Hide file tree
Showing 9 changed files with 119 additions and 76 deletions.
135 changes: 71 additions & 64 deletions .squot-materialize
Original file line number Diff line number Diff line change
Expand Up @@ -2,93 +2,107 @@
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'SpotifyConnectInSqueak.png'
'Screenshot.png'
],
#encoding : Class [ #PNGReadWriter ]
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'recently-played.png'
],
#encoding : @4
},
SquotImageMapper {
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'previous.png'
'mockdata',
'searchResponse'
],
#encoding : @4
#encoding : 'TXT'
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'refresh.png'
'next-white.png'
],
#encoding : @4
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'playlistResponse'
'albumResponse'
],
#encoding : 'TXT'
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'src',
'.properties'
'.github',
'workflows',
'ci.yml'
],
#encoding : 'TXT'
},
SquotPlaintextMapper {
SquotImageMapper {
#path : FSAbsolutePath [
'CodeGuidelines.md'
'assets',
'speaker.png'
],
#encoding : 'TXT'
#encoding : @4
},
SquotPlaintextMapper {
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'searchResponse'
'squeak-mouse.png'
],
#encoding : @4
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'.smalltalk.ston'
],
#encoding : 'TXT'
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'previous-white.png'
'play.png'
],
#encoding : @4
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'successResponse.html'
'mockdata',
'recentlyPlayedResponse'
],
#encoding : 'TXT'
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'recentlyPlayedResponse'
'playbackStateResponse'
],
#encoding : 'TXT'
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'devicesResponse'
'README.md'
],
#encoding : 'TXT'
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'recently-played.png'
],
#encoding : @4
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'SpotifyConnectInSqueak.png'
],
#encoding : @4
},
SquotTonelMapper {
#package : MCPackage {
#name : 'SpotifyConnect'
#name : 'BaselineOfSpotifyConnect'
},
#path : FSAbsolutePath [
'src'
Expand All @@ -97,7 +111,7 @@
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'squeak-mouse.png'
'speaker-muted.png'
],
#encoding : @4
},
Expand All @@ -108,93 +122,86 @@
],
#encoding : @4
},
SquotTonelMapper {
#package : MCPackage {
#name : 'BaselineOfSpotifyConnect'
},
#path : @29
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'next-white.png'
'next.png'
],
#encoding : @4
},
SquotPlaintextMapper {
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'albumResponse'
'previous.png'
],
#encoding : 'TXT'
#encoding : @4
},
SquotPlaintextMapper {
SquotImageMapper {
#path : FSAbsolutePath [
'.github',
'workflows',
'ci.yml'
'assets',
'pause.png'
],
#encoding : 'TXT'
#encoding : @4
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'LICENSE'
'CodeGuidelines.md'
],
#encoding : 'TXT'
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'README.md'
'LICENSE'
],
#encoding : 'TXT'
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'speaker.png'
'previous-white.png'
],
#encoding : @4
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'pause.png'
],
#encoding : @4
SquotTonelMapper {
#package : MCPackage {
#name : 'SpotifyConnect'
},
#path : @33
},
SquotImageMapper {
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'play.png'
'successResponse.html'
],
#encoding : @4
#encoding : 'TXT'
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'.smalltalk.ston'
'assets',
'mockdata',
'playlistResponse'
],
#encoding : 'TXT'
},
SquotImageMapper {
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'next.png'
'src',
'.properties'
],
#encoding : @4
#encoding : 'TXT'
},
SquotImageMapper {
#path : FSAbsolutePath [
'assets',
'speaker-muted.png'
'refresh.png'
],
#encoding : @4
},
SquotPlaintextMapper {
#path : FSAbsolutePath [
'assets',
'mockdata',
'playbackStateResponse'
'devicesResponse'
],
#encoding : 'TXT'
}
Expand Down
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
# SpotifyConnect
<p align="center"><img src="/assets/SpotifyConnectInSqueak.png" width="200"></p>

# Spotify Connect

[![CI](https://github.com/hpi-swa-teaching/SpotifyConnect/workflows/CI/badge.svg)](https://github.com/hpi-swa-teaching/SpotifyConnect/actions)
![Squeakversion](https://img.shields.io/badge/Squeak%20Version-6.0-green)
![Coverage](https://img.shields.io/badge/Coverage-84-green)

## Features
- Login mit Spotify Konto
- Suchen nach Songs, Albums und Playlists
- Abspielen, Pausieren und Skippen
- Aktuelles Wiedergabegerät wechseln
- Lautstärke ändern
- Anmelden mit einem Spotify Konto
- Abspielen und Pausieren von Songs
- Skippen zu vorherigem oder nächsten Song
- Aktuell wiedergegebener Song wird mit Bild und Titel angezeigt
- Suche nach Songs, Albums und Playlists filtern
- Suchergebnisse mit Bild als Liste ansehen
- Liste der zuletzt wiedergegebenen Songs ansehen
- Aktives Wiedergabegerät anzeigen und wechseln
- Lautstärke ändern und Wiedergabe muten
- Manuelles Aktualisieren des Interfaces
- Anwendung über das Apps Menü in Squeak öffnen

## Voraussetzungen
- Für die meisten Features erfordert Spotify einen Premium Account
Expand Down Expand Up @@ -59,4 +69,6 @@ Beim erstmaligen Login werden Cliend ID und Client Secret von jeweils einem Pop-

Dann öffnet sich der Browser (außerhalb von Squeak) und leitet automatisch zur Anmeldeseite von Spotify. Nach erfolgreichem Anmelden und Aktivieren eines Gerätes kann Spotify Connect in Squeak benutzt werden.

## Screenshot

<p align="center"><img src="/assets/Screenshot.png" ></p>
Binary file added assets/Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestApiSwitchDevice.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
"
Test the API request to switch the active device.
"
Class {
#name : #SPOCTestApiSwitchDevice,
#superclass : #SPOCTestCaseWithAuth,
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:42'
}

{
Expand Down
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestApiVolume.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
"
Tests the API call and the change of volume.
"
Class {
#name : #SPOCTestApiVolume,
#superclass : #SPOCTestCaseWithAuth,
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:43'
}

{
Expand Down
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestAuthorizerProcess.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
"
Tests parts necessary for the Authorizer.
"
Class {
#name : #SPOCTestAuthorizerProcess,
#superclass : #SPOCTestCaseWithAuth,
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:44'
}

{
Expand Down
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestPlay.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
"
Test Play API request.
"
Class {
#name : #SPOCTestPlay,
#superclass : #SPOCTestCaseWithAuth,
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:44'
}

{
Expand Down
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestTokens.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
"
Test for correct set access and refreshToken.
"
Class {
#name : #SPOCTestTokens,
#superclass : #SPOCTestCaseWithAuth,
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:45'
}

{
Expand Down
6 changes: 5 additions & 1 deletion src/SpotifyConnect/SPOCTestUserLogin.class.st
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
"
Test user Login Button field.
"
Class {
#name : #SPOCTestUserLogin,
#superclass : #SPOCTestCaseWithAuth,
#instVars : [
'app',
'userLogin'
],
#category : #'SpotifyConnect-Auth-Tests'
#category : #'SpotifyConnect-Auth-Tests',
#'squeak_changestamp' : 'OW 7/9/2024 10:45'
}

{
Expand Down

0 comments on commit 4fd1b91

Please sign in to comment.