Skip to content

codybrom/blankie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blankie logo

Blankie

Ambient sound mixer for macOS inspired by Blanket

macOS Swift SwiftUI Xcode GitHub Screenshot

Description

Blankie makes it easy to mix different ambient sounds into a custom soundscape. Use it to focus and increase your productivity or help you fall asleep in a noisy environment. Blankie is a native macOS app with support for automatic light/dark modes, and your system or a custom accent color and global play/pause control from your keyboard's media keys, command center, or headphones.

Features

  • 14 high-quality ambient sounds:
    • Nature sounds (rain, waves, birds, wind)
    • Environmental sounds (train, city, coffee shop)
    • White/pink noise
  • Individual volume controls for each sound
  • Global volume control
  • Preset system to save your favorite sound combinations
  • Native macOS integration:
    • System media controls
    • Automatic or customizable light/dark modes
    • Automatic or custom accent colors

Contributing

We welcome contributions from the community! There are many ways to contribute to Blankie:

  • Code: Help fix bugs, add features, or improve performance
  • Testing: Try new features and report issues
  • Documentation: Improve our docs and website
  • Ideas: Submit feature requests and provide feedback

Before contributing, please review our Contributing Guidelines and Code of Conduct.

Current Priority Areas for Contribution

We're currenly looking for help with:

Development Setup

  1. Fork the repository and clone it to your local machine.

  2. Copy Configuration.example.xcconfig to Configuration.xcconfig.

    • Configuration.xcconfig is ignored by git to keep Bundle IDs and Team IDs private. Do not commit this file publicly to protect your work from impersonation, account misuse, and distribution conflicts.
  3. Add your development team to Configuration.xcconfig.

    DEVELOPMENT_TEAM = YOUR_TEAM_ID_HERE
    
    • Apple Developer Program Members:

      • Retrieve your Team ID:
        1. Open Xcode and go to Xcode > Preferences > Accounts.
        2. Sign in with your Apple ID if you haven’t already.
        3. Select your account, click Manage Certificates or View Details, and find your Team ID under your account name.
      • Add your Team ID to Configuration.xcconfig:
    • If You Are Not a Member of the Apple Developer Program:

      • You can still test the app on your devices for free by creating an Xcode Personal Team. Follow these steps:
        1. Open Xcode and go to Xcode > Preferences > Accounts.
        2. Click the "+" button to add your Apple ID (if not already added).
        3. After signing in, Xcode will automatically create a Personal Team associated with your Apple ID.
        4. Go to Xcode > Preferences > Accounts, select your account, and click View Details. The Team ID for your Personal Team will be listed.
      • Use the Team ID from your Personal Team in Configuration.xcconfig:
  4. Set the Bundle Identifier:

    PRODUCT_BUNDLE_IDENTIFIER = com.yournamehere.blankie
    
    • In Configuration.xcconfig, set PRODUCT_BUNDLE_IDENTIFIER to a unique identifier. You can use any reverse domain name format for the bundle identifier, but it must be unique. You cannot use the same bundle identifier as the main Blankie app.
  5. Open Blankie.xcodeproj in Xcode

  6. Build and run the project!

Documentation

Additional information about Blankie, including an FAQ and more credits, are available on the Blankie website. The website is created using Astro and hosted on GitHub Pages. The source code is available in the docs directory.

Information about the Blankie website's source code can be found in its README file.

Credits

Special Thanks

An incredibly special thanks to Rafael Mardojai CM and all the contributors to the Blanket project which inspired me to build this app when I couldn't find a free, simple and open-source Mac app like it.

Sounds

The sounds in Blankie are used under various open licenses. Full attribution information about sounds and licensing is available on the Blankie website at blankie.rest/credits or on the About screen of the app.

App Logo / Icon

The Blankie logo and app icon were created by Cody Bromley and are licensed under a Creative Commons Attribution 4.0 International license

You may share, copy, and adapt the Blankie logo/icon, but you must give appropriate credit, link to the license, and indicate if changes were made.

Press and media may use the Blankie app icon and logo without modification to reference the Blankie app, provided proper attribution is given.

Sound Icons

Blankie uses SF Symbols for sound icons. SF Symbols are provided by Apple as a system resource, with usage governed by the Xcode and Apple SDKs Agreement. They are not stored in this repository and are not covered by Blankie's license.

License & Copyright

© 2024 Cody Bromley. All rights reserved.

The Blankie name and trademark rights are reserved. The Blankie logo and app icon are licensed under a Creative Commons Attribution 4.0 International License.

The Blankie source code and website code are copyright Cody Bromley and licensed under the MIT License. Please read Blankie's LICENSE for full details. Contributions to Blankie are welcome and will be released under the same license.

Different components of Blankie (such as sounds, icons, or others) may be covered by different licenses. Full attribution information about sounds and licensing for included items is available on the Blankie website at blankie.rest/credits and on the About screen of the app.

Support & Community


Blankie is an independent macOS application inspired by Blanket. Blankie was built without re-using any code from the Blanket project, though it does use some of the same openly licensed sound files. Blankie is not affiliated with or endorsed by the Blanket team or any of its contributors.