Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amiantos/multiclock
MultiClock is a screensaver for macOS that displays the time using 24 clocks
https://github.com/amiantos/multiclock
animation clock macos screensaver spritekit swift
Last synced: 2 months ago
JSON representation
MultiClock is a screensaver for macOS that displays the time using 24 clocks
- Host: GitHub
- URL: https://github.com/amiantos/multiclock
- Owner: amiantos
- License: mpl-2.0
- Created: 2021-12-24T09:44:11.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-25T23:09:07.000Z (almost 2 years ago)
- Last Synced: 2024-10-11T02:28:30.958Z (3 months ago)
- Topics: animation, clock, macos, screensaver, spritekit, swift
- Language: Swift
- Homepage:
- Size: 1.65 MB
- Stars: 137
- Watchers: 6
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MultiClock
MultiClock is a screensaver for macOS that displays the current time using 24 clocks. MultiClock is very configurable, with a variety of hand and dial styles and the ability to customize the color of each independently.
## Preview
*Note: This gif has a low framerate. The screensaver itself operates at a fluid 60 FPS.*
![Preview animation of MultiClock screensaver showing 24 clocks rotate to show the numbers 1234, then a pattern, before rotating back to midnight.](/.github/low-framerate-preview.gif?raw=true)
![Configuration sheet for the screensaver, showing customizable colors and alternate hand and dial designs](/.github/configure-sheet.png?raw=true)## Download
* [Download MultiClock v1.1 for macOS](https://amiantos.s3.amazonaws.com/multiclock-1.1.zip)
## FAQ
*What about 24-hour time support?*
If you have macOS set to 24-hour time, the screensaver will automatically use 24-hour time as well.
## Development
1. Clone the repo
2. Open `MultiClock.xcodeproj`
3. The 'macOS' build target allows you to preview the screensaver and control it manually. Take a look at the bottom of `ClockScene.swift` to see some keyboard shortcuts. Add your own to test out animations!### Adding Animations
If you'd like to add animations to ClockSaver, the public methods on the `Animation` class make it easy--they're very similar to SKActions. For example, a sequence of animations may look like this:
```swift
queue(animations: [
Animation.display(pattern: inwardPointPattern),
Animation.wait(duration: 5),
Animation.positionBothHands(minuteDegrees: -45, hourDegrees: -225),
Animation.spinBothHandsWithDelay(by: 180, delay: 0.2),
Animation.currentTimeClock(),
Animation.wait(duration: 5),
Animation.positionBothHands(minuteDegrees: -225, hourDegrees: -225),
Animation.positionBothHands(minuteDegrees: 0, hourDegrees: 0),
Animation.currentTimePrint(),
])
```Completed animations should go in `ClockController.swift`. Add another integer to `allAnimations` at the top, and add a new `case` to the `switch` down below. Then submit a PR if you think the animation is cool :)
*Why are all the degree references in negative?* Because I'm too lazy to go back and make them positive after reworking the animation system. Submit a PR fixing it, if you want!
## Authors
* Brad Root - [amiantos](https://github.com/amiantos)
## Credits
MultiClock was inspired by [ClockClock 24](https://clockclock.com/collections/clockclock-24) by [Humans since 1982](https://www.humanssince1982.com).