├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── Example ├── AppDelegate.swift ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── Success.m4a └── ViewController.swift ├── LICENSE ├── Package.swift ├── Peep.podspec ├── Peep.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcshareddata │ └── xcschemes │ ├── Example.xcscheme │ └── Peep.xcscheme ├── README.md ├── Sources ├── Info.plist ├── Peep.h └── Peep.swift └── docs ├── Enums.html ├── Enums ├── AlertTone.html ├── HapticFeedback.html └── KeyPress.html ├── Extensions.html ├── Extensions └── URL.html ├── Protocols.html ├── Protocols └── Peepable.html ├── Structs.html ├── Structs └── Peep.html ├── badge.svg ├── css ├── highlight.css └── jazzy.css ├── docsets ├── Peep.docset │ └── Contents │ │ ├── Info.plist │ │ └── Resources │ │ ├── Documents │ │ ├── Enums.html │ │ ├── Enums │ │ │ ├── AlertTone.html │ │ │ ├── HapticFeedback.html │ │ │ └── KeyPress.html │ │ ├── Extensions.html │ │ ├── Extensions │ │ │ └── URL.html │ │ ├── Protocols.html │ │ ├── Protocols │ │ │ └── Peepable.html │ │ ├── Structs.html │ │ ├── Structs │ │ │ └── Peep.html │ │ ├── badge.svg │ │ ├── css │ │ │ ├── highlight.css │ │ │ └── jazzy.css │ │ ├── img │ │ │ ├── carat.png │ │ │ ├── dash.png │ │ │ └── gh.png │ │ ├── index.html │ │ ├── js │ │ │ ├── jazzy.js │ │ │ └── jquery.min.js │ │ ├── search.json │ │ └── undocumented.json │ │ └── docSet.dsidx └── Peep.tgz ├── img ├── carat.png ├── dash.png └── gh.png ├── index.html ├── js ├── jazzy.js └── jquery.min.js ├── search.json └── undocumented.json /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Swift 2 | on: [push] 3 | jobs: 4 | build: 5 | runs-on: macos-latest 6 | steps: 7 | - uses: actions/checkout@v4 8 | - name: Build 9 | run: set -o pipefail && xcodebuild -project "Peep.xcodeproj" -scheme "Example" CODE_SIGNING_ALLOWED=NO clean build | xcpretty 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | ## Playgrounds 32 | timeline.xctimeline 33 | playground.xcworkspace 34 | 35 | # Swift Package Manager 36 | # 37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 38 | # Packages/ 39 | # Package.pins 40 | .build/ 41 | 42 | # CocoaPods 43 | # 44 | # We recommend against adding the Pods directory to your .gitignore. However 45 | # you should judge for yourself, the pros and cons are mentioned at: 46 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 47 | # 48 | # Pods/ 49 | 50 | # Carthage 51 | # 52 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 53 | # Carthage/Checkouts 54 | 55 | Carthage/Build 56 | 57 | # fastlane 58 | # 59 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 60 | # screenshots whenever they are needed. 61 | # For more information about the recommended setup visit: 62 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 63 | 64 | fastlane/report.xml 65 | fastlane/Preview.html 66 | fastlane/screenshots 67 | fastlane/test_output 68 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | os: osx 2 | osx_image: xcode10.2 3 | script: 4 | - xcodebuild clean -project Peep.xcodeproj -scheme Peep -destination "platform=iOS Simulator,name=iPhone X,OS=12.2" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO -quiet 5 | - xcodebuild clean -project Peep.xcodeproj -scheme Example -destination "platform=iOS Simulator,name=iPhone X,OS=12.2" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO -quiet 6 | - pod spec lint 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change log 2 | 3 | ## [Version 3.0.0](https://github.com/efremidze/Peep/releases/tag/3.0.0) 4 | Released on 2019-10-25 5 | 6 | - Swift 5.0 Support 7 | 8 | ## [Version 2.1.2](https://github.com/efremidze/Peep/releases/tag/2.1.2) 9 | Released on 2018-10-01 10 | 11 | - Swift 4.2 Support 12 | 13 | ## [Version 2.0.1](https://github.com/efremidze/Peep/releases/tag/2.0.1) 14 | Released on 2018-05-18 15 | 16 | - Added documentation 17 | 18 | ## [Version 2.0.0](https://github.com/efremidze/Peep/releases/tag/2.0.0) 19 | Released on 2017-10-01 20 | 21 | - Updated to Swift 4 22 | 23 | ## [Version 1.0.0](https://github.com/efremidze/Peep/releases/tag/1.0.0) 24 | Released on 2017-09-11 25 | 26 | - Created Project 27 | -------------------------------------------------------------------------------- /Example/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Example 4 | // 5 | // Created by Lasha Efremidze on 9/11/17. 6 | // Copyright © 2017 Lasha Efremidze. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 15 | // Override point for customization after application launch. 16 | return true 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /Example/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Example/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 34 | 41 | 48 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Example/Success.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/Example/Success.m4a -------------------------------------------------------------------------------- /Example/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Example 4 | // 5 | // Created by Lasha Efremidze on 9/11/17. 6 | // Copyright © 2017 Lasha Efremidze. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import Peep 11 | 12 | class ViewController: UIViewController { 13 | 14 | @IBAction func alertTone(_ sender: Any) { 15 | Peep.play(sound: AlertTone.tweet) 16 | } 17 | 18 | @IBAction func keyPress(_ sender: Any) { 19 | Peep.play(sound: KeyPress.tap) 20 | } 21 | 22 | @IBAction func hapticFeedback(_ sender: Any) { 23 | Peep.play(sound: HapticFeedback.selection) 24 | } 25 | 26 | @IBAction func url(_ sender: Any) { 27 | Peep.play(sound: Bundle.main.url(forResource: "Success", withExtension: "m4a")) 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Lasha Efremidze 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.0 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription 5 | 6 | let package = Package( 7 | name: "Peep", 8 | platforms: [ 9 | .iOS(.v10) 10 | ], 11 | products: [ 12 | // Products define the executables and libraries produced by a package, and make them visible to other packages. 13 | .library( 14 | name: "Peep", 15 | targets: ["Peep"]) 16 | ], 17 | dependencies: [ 18 | // Dependencies declare other packages that this package depends on. 19 | // .package(url: /* package url */, from: "1.0.0"), 20 | ], 21 | targets: [ 22 | // Targets are the basic building blocks of a package. A target can define a module or a test suite. 23 | // Targets can depend on other targets in this package, and on products in packages which this package depends on. 24 | .target( 25 | name: "Peep", 26 | dependencies: [], 27 | path: "Sources" 28 | ) 29 | ] 30 | ) 31 | -------------------------------------------------------------------------------- /Peep.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'Peep' 3 | s.version = '3.0.0' 4 | s.summary = 'Easy Sound Generator' 5 | s.homepage = 'https://github.com/efremidze/Peep' 6 | s.license = { :type => 'MIT', :file => 'LICENSE' } 7 | s.author = { 'efremidze' => 'efremidzel@hotmail.com' } 8 | s.documentation_url = 'https://efremidze.github.io/Peep/' 9 | s.source = { :git => 'https://github.com/efremidze/Peep.git', :tag => s.version.to_s } 10 | s.ios.deployment_target = '10.0' 11 | s.swift_version = '5.0' 12 | s.source_files = 'Sources/*.swift' 13 | end 14 | -------------------------------------------------------------------------------- /Peep.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Peep.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Peep.xcodeproj/xcshareddata/xcschemes/Example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 52 | 54 | 60 | 61 | 62 | 63 | 69 | 71 | 77 | 78 | 79 | 80 | 82 | 83 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /Peep.xcodeproj/xcshareddata/xcschemes/Peep.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 52 | 53 | 59 | 60 | 66 | 67 | 68 | 69 | 71 | 72 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Peep 2 | 3 | [![CI](https://github.com/efremidze/Peep/actions/workflows/ci.yml/badge.svg)](https://github.com/efremidze/Peep/actions/workflows/ci.yml) 4 | [![CocoaPods](https://img.shields.io/cocoapods/v/Peep.svg)](https://cocoapods.org/pods/Peep) 5 | [![Carthage](https://img.shields.io/badge/Carthage-compatible-brightgreen.svg)](https://github.com/Carthage/Carthage) 6 | [![SPM](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://swift.org/package-manager/) 7 | [![Swift](https://img.shields.io/badge/Swift-5.9+-orange.svg)](https://swift.org) 8 | [![License](https://img.shields.io/github/license/efremidze/Peep.svg)](https://github.com/efremidze/Peep/blob/master/LICENSE) 9 | 10 | **Peep** is an easy sound generator library. 11 | 12 | ``` 13 | $ pod try Peep 14 | ``` 15 | 16 | ## Requirements 17 | 18 | - iOS 10.0+ 19 | - Xcode 8.0+ 20 | - Swift 5 (Peep 3.x), Swift 4 (Peep 2.x), Swift 3 (Peep 1.x) 21 | 22 | ## Usage 23 | 24 | Playing sounds is super simple. 25 | 26 | ```swift 27 | import Peep 28 | 29 | // play alert tone 30 | Peep.play(sound: AlertTone.tweet) 31 | 32 | // play key press 33 | Peep.play(sound: KeyPress.tap) 34 | 35 | // play haptic feedback 36 | Peep.play(sound: HapticFeedback.selection) 37 | 38 | // play url 39 | Peep.play(sound: Bundle.main.url(forResource: "Success", withExtension: "m4a")) 40 | ``` 41 | 42 | ### Haptic Feedback 43 | 44 | Add haptic feedback to Peep using [Haptica](https://github.com/efremidze/Haptica). 45 | 46 | ```swift 47 | Haptic.impact(.light).generate() 48 | ``` 49 | 50 | ## Installation 51 | 52 | ### CocoaPods 53 | To install with [CocoaPods](http://cocoapods.org/), simply add this in your `Podfile`: 54 | ```ruby 55 | use_frameworks! 56 | pod "Peep" 57 | ``` 58 | 59 | ### Carthage 60 | To install with [Carthage](https://github.com/Carthage/Carthage), simply add this in your `Cartfile`: 61 | ```ruby 62 | github "efremidze/Peep" 63 | ``` 64 | 65 | ## Communication 66 | 67 | - If you **found a bug**, open an issue. 68 | - If you **have a feature request**, open an issue. 69 | - If you **want to contribute**, submit a pull request. 70 | 71 | ## Credits 72 | 73 | * https://github.com/mergesort/FeedbackEffect 74 | 75 | ## License 76 | 77 | Peep is available under the MIT license. See the LICENSE file for more info. 78 | -------------------------------------------------------------------------------- /Sources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | $(MARKETING_VERSION) 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sources/Peep.h: -------------------------------------------------------------------------------- 1 | // 2 | // Peep.h 3 | // Peep 4 | // 5 | // Created by Lasha Efremidze on 9/11/17. 6 | // Copyright © 2017 Lasha Efremidze. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Peep. 12 | FOUNDATION_EXPORT double PeepVersionNumber; 13 | 14 | //! Project version string for Peep. 15 | FOUNDATION_EXPORT const unsigned char PeepVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /Sources/Peep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Peep.swift 3 | // Peep 4 | // 5 | // Created by Lasha Efremidze on 9/11/17. 6 | // Copyright © 2017 Lasha Efremidze. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import AudioToolbox 11 | import AVFoundation 12 | 13 | public protocol Peepable { 14 | func play() 15 | } 16 | 17 | public struct Peep { 18 | public static func play(sound: Peepable?) { 19 | try? AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default, options: .mixWithOthers) 20 | sound?.play() 21 | } 22 | } 23 | 24 | public enum AlertTone: UInt32 { 25 | case note = 1375 26 | case aurora = 1366 27 | case bamboo = 1361 28 | case chord = 1312 29 | case circles = 1368 30 | case complete = 1362 31 | case hello = 1363 32 | case input = 1369 33 | case keys = 1367 34 | case popcorn = 1364 35 | case pulse = 1120 36 | case synth = 1365 37 | case alert = 1005 38 | case anticipate = 1020 39 | case bell = 1013 40 | case bloom = 1021 41 | case calypso = 1022 42 | case chime = 1008 43 | case choochoo = 1023 44 | case descent = 1024 45 | case ding = 1000 46 | case electronic = 1014 47 | case fanfare = 1025 48 | case glass = 1009 49 | case horn = 1010 50 | case ladder = 1026 51 | case minuet = 1027 52 | case newsflash = 1028 53 | case noir = 1029 54 | case sherwoodforest = 1030 55 | case spell = 1031 56 | case suspence = 1032 57 | case swish = 1018 58 | case swoosh = 1001 59 | case telegraph = 1033 60 | case tiptoes = 1034 61 | case tritone = 1002 62 | case tweet = 1016 63 | case typewriters = 1035 64 | case update = 1036 65 | } 66 | 67 | extension AlertTone: Peepable { 68 | public func play() { 69 | AudioServicesPlaySystemSound(rawValue) 70 | } 71 | } 72 | 73 | public enum KeyPress: UInt32 { 74 | case tap = 1104 75 | } 76 | 77 | extension KeyPress: Peepable { 78 | public func play() { 79 | AudioServicesPlaySystemSound(rawValue) 80 | } 81 | } 82 | 83 | public enum HapticFeedback: UInt32 { 84 | case impact = 1520 85 | case notification = 1521 86 | case selection = 1519 87 | } 88 | 89 | extension HapticFeedback: Peepable { 90 | public func play() { 91 | AudioServicesPlaySystemSound(rawValue) 92 | } 93 | } 94 | 95 | extension URL: Peepable { 96 | public func play() { 97 | let player = AVQueuePlayer.shared 98 | player.removeAllItems() 99 | let item = AVPlayerItem(url: self) 100 | player.insert(item, after: nil) 101 | player.play() 102 | } 103 | } 104 | 105 | extension AVQueuePlayer { 106 | static let shared = AVQueuePlayer() 107 | } 108 | -------------------------------------------------------------------------------- /docs/Enums.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enumerations Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Enumerations

74 |

The following enumerations are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | AlertTone 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public enum AlertTone : UInt32
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
  • 109 |
    110 | 111 | 112 | 113 | KeyPress 114 | 115 |
    116 |
    117 |
    118 |
    119 |
    120 |
    121 |

    Undocumented

    122 | 123 | See more 124 |
    125 |
    126 |

    Declaration

    127 |
    128 |

    Swift

    129 |
    public enum KeyPress : UInt32
    130 | 131 |
    132 |
    133 |
    134 |
    135 |
  • 136 |
  • 137 |
    138 | 139 | 140 | 141 | HapticFeedback 142 | 143 |
    144 |
    145 |
    146 |
    147 |
    148 |
    149 |

    Undocumented

    150 | 151 | See more 152 |
    153 |
    154 |

    Declaration

    155 |
    156 |

    Swift

    157 |
    public enum HapticFeedback : UInt32
    158 | 159 |
    160 |
    161 |
    162 |
    163 |
  • 164 |
165 |
166 |
167 |
168 | 172 |
173 |
174 | 175 | 176 | 177 | -------------------------------------------------------------------------------- /docs/Enums/HapticFeedback.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HapticFeedback Enumeration Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

HapticFeedback

74 |
75 |
76 |
public enum HapticFeedback : UInt32
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | impact 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    case impact = 1520
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
  • 114 |
    115 | 116 | 117 | 118 | notification 119 | 120 |
    121 |
    122 |
    123 |
    124 |
    125 |
    126 |

    Undocumented

    127 | 128 |
    129 |
    130 |

    Declaration

    131 |
    132 |

    Swift

    133 |
    case notification = 1521
    134 | 135 |
    136 |
    137 |
    138 |
    139 |
  • 140 |
  • 141 |
    142 | 143 | 144 | 145 | selection 146 | 147 |
    148 |
    149 |
    150 |
    151 |
    152 |
    153 |

    Undocumented

    154 | 155 |
    156 |
    157 |

    Declaration

    158 |
    159 |

    Swift

    160 |
    case selection = 1519
    161 | 162 |
    163 |
    164 |
    165 |
    166 |
  • 167 |
168 |
169 |
170 |
    171 |
  • 172 |
    173 | 174 | 175 | 176 | play() 177 | 178 |
    179 |
    180 |
    181 |
    182 |
    183 |
    184 |

    Undocumented

    185 | 186 |
    187 |
    188 |

    Declaration

    189 |
    190 |

    Swift

    191 |
    public func play()
    192 | 193 |
    194 |
    195 |
    196 |
    197 |
  • 198 |
199 |
200 |
201 |
202 | 206 |
207 |
208 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /docs/Enums/KeyPress.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | KeyPress Enumeration Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

KeyPress

74 |
75 |
76 |
public enum KeyPress : UInt32
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | tap 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    case tap = 1104
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
    117 |
  • 118 |
    119 | 120 | 121 | 122 | play() 123 | 124 |
    125 |
    126 |
    127 |
    128 |
    129 |
    130 |

    Undocumented

    131 | 132 |
    133 |
    134 |

    Declaration

    135 |
    136 |

    Swift

    137 |
    public func play()
    138 | 139 |
    140 |
    141 |
    142 |
    143 |
  • 144 |
145 |
146 |
147 |
148 | 152 |
153 |
154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /docs/Extensions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Extensions Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Extensions

74 |

The following extensions are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | URL 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 | 94 | See more 95 |
    96 |
    97 |

    Declaration

    98 |
    99 |

    Swift

    100 |
    struct URL : ReferenceConvertible, Equatable
    101 | 102 |
    103 |
    104 |
    105 |
    106 |
  • 107 |
108 |
109 |
110 |
111 | 115 |
116 |
117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /docs/Extensions/URL.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | URL Extension Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

URL

74 |
75 |
76 |
struct URL : ReferenceConvertible, Equatable
77 | 78 |
79 |
80 | 81 |
82 |
83 |
84 |
    85 |
  • 86 |
    87 | 88 | 89 | 90 | play() 91 | 92 |
    93 |
    94 |
    95 |
    96 |
    97 |
    98 |

    Undocumented

    99 | 100 |
    101 |
    102 |

    Declaration

    103 |
    104 |

    Swift

    105 |
    public func play()
    106 | 107 |
    108 |
    109 |
    110 |
    111 |
  • 112 |
113 |
114 |
115 |
116 | 120 |
121 |
122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /docs/Protocols.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Protocols Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Protocols

74 |

The following protocols are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | Peepable 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public protocol Peepable
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
109 |
110 |
111 |
112 | 116 |
117 |
118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /docs/Protocols/Peepable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peepable Protocol Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Peepable

74 |
75 |
76 |
public protocol Peepable
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | play() 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    func play()
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
117 | 121 |
122 |
123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /docs/Structs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Structures Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Structures

74 |

The following structures are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | Peep 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public struct Peep
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
109 |
110 |
111 |
112 | 116 |
117 |
118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /docs/Structs/Peep.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peep Structure Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Peep

74 |
75 |
76 |
public struct Peep
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | play(sound:) 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    public static func play(sound: Peepable?)
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
117 | 121 |
122 |
123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /docs/badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | documentation 17 | 18 | 19 | documentation 20 | 21 | 22 | 1% 23 | 24 | 25 | 1% 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/css/highlight.css: -------------------------------------------------------------------------------- 1 | /* Credit to https://gist.github.com/wataru420/2048287 */ 2 | .highlight { 3 | /* Comment */ 4 | /* Error */ 5 | /* Keyword */ 6 | /* Operator */ 7 | /* Comment.Multiline */ 8 | /* Comment.Preproc */ 9 | /* Comment.Single */ 10 | /* Comment.Special */ 11 | /* Generic.Deleted */ 12 | /* Generic.Deleted.Specific */ 13 | /* Generic.Emph */ 14 | /* Generic.Error */ 15 | /* Generic.Heading */ 16 | /* Generic.Inserted */ 17 | /* Generic.Inserted.Specific */ 18 | /* Generic.Output */ 19 | /* Generic.Prompt */ 20 | /* Generic.Strong */ 21 | /* Generic.Subheading */ 22 | /* Generic.Traceback */ 23 | /* Keyword.Constant */ 24 | /* Keyword.Declaration */ 25 | /* Keyword.Pseudo */ 26 | /* Keyword.Reserved */ 27 | /* Keyword.Type */ 28 | /* Literal.Number */ 29 | /* Literal.String */ 30 | /* Name.Attribute */ 31 | /* Name.Builtin */ 32 | /* Name.Class */ 33 | /* Name.Constant */ 34 | /* Name.Entity */ 35 | /* Name.Exception */ 36 | /* Name.Function */ 37 | /* Name.Namespace */ 38 | /* Name.Tag */ 39 | /* Name.Variable */ 40 | /* Operator.Word */ 41 | /* Text.Whitespace */ 42 | /* Literal.Number.Float */ 43 | /* Literal.Number.Hex */ 44 | /* Literal.Number.Integer */ 45 | /* Literal.Number.Oct */ 46 | /* Literal.String.Backtick */ 47 | /* Literal.String.Char */ 48 | /* Literal.String.Doc */ 49 | /* Literal.String.Double */ 50 | /* Literal.String.Escape */ 51 | /* Literal.String.Heredoc */ 52 | /* Literal.String.Interpol */ 53 | /* Literal.String.Other */ 54 | /* Literal.String.Regex */ 55 | /* Literal.String.Single */ 56 | /* Literal.String.Symbol */ 57 | /* Name.Builtin.Pseudo */ 58 | /* Name.Variable.Class */ 59 | /* Name.Variable.Global */ 60 | /* Name.Variable.Instance */ 61 | /* Literal.Number.Integer.Long */ } 62 | .highlight .c { 63 | color: #999988; 64 | font-style: italic; } 65 | .highlight .err { 66 | color: #a61717; 67 | background-color: #e3d2d2; } 68 | .highlight .k { 69 | color: #000000; 70 | font-weight: bold; } 71 | .highlight .o { 72 | color: #000000; 73 | font-weight: bold; } 74 | .highlight .cm { 75 | color: #999988; 76 | font-style: italic; } 77 | .highlight .cp { 78 | color: #999999; 79 | font-weight: bold; } 80 | .highlight .c1 { 81 | color: #999988; 82 | font-style: italic; } 83 | .highlight .cs { 84 | color: #999999; 85 | font-weight: bold; 86 | font-style: italic; } 87 | .highlight .gd { 88 | color: #000000; 89 | background-color: #ffdddd; } 90 | .highlight .gd .x { 91 | color: #000000; 92 | background-color: #ffaaaa; } 93 | .highlight .ge { 94 | color: #000000; 95 | font-style: italic; } 96 | .highlight .gr { 97 | color: #aa0000; } 98 | .highlight .gh { 99 | color: #999999; } 100 | .highlight .gi { 101 | color: #000000; 102 | background-color: #ddffdd; } 103 | .highlight .gi .x { 104 | color: #000000; 105 | background-color: #aaffaa; } 106 | .highlight .go { 107 | color: #888888; } 108 | .highlight .gp { 109 | color: #555555; } 110 | .highlight .gs { 111 | font-weight: bold; } 112 | .highlight .gu { 113 | color: #aaaaaa; } 114 | .highlight .gt { 115 | color: #aa0000; } 116 | .highlight .kc { 117 | color: #000000; 118 | font-weight: bold; } 119 | .highlight .kd { 120 | color: #000000; 121 | font-weight: bold; } 122 | .highlight .kp { 123 | color: #000000; 124 | font-weight: bold; } 125 | .highlight .kr { 126 | color: #000000; 127 | font-weight: bold; } 128 | .highlight .kt { 129 | color: #445588; } 130 | .highlight .m { 131 | color: #009999; } 132 | .highlight .s { 133 | color: #d14; } 134 | .highlight .na { 135 | color: #008080; } 136 | .highlight .nb { 137 | color: #0086B3; } 138 | .highlight .nc { 139 | color: #445588; 140 | font-weight: bold; } 141 | .highlight .no { 142 | color: #008080; } 143 | .highlight .ni { 144 | color: #800080; } 145 | .highlight .ne { 146 | color: #990000; 147 | font-weight: bold; } 148 | .highlight .nf { 149 | color: #990000; } 150 | .highlight .nn { 151 | color: #555555; } 152 | .highlight .nt { 153 | color: #000080; } 154 | .highlight .nv { 155 | color: #008080; } 156 | .highlight .ow { 157 | color: #000000; 158 | font-weight: bold; } 159 | .highlight .w { 160 | color: #bbbbbb; } 161 | .highlight .mf { 162 | color: #009999; } 163 | .highlight .mh { 164 | color: #009999; } 165 | .highlight .mi { 166 | color: #009999; } 167 | .highlight .mo { 168 | color: #009999; } 169 | .highlight .sb { 170 | color: #d14; } 171 | .highlight .sc { 172 | color: #d14; } 173 | .highlight .sd { 174 | color: #d14; } 175 | .highlight .s2 { 176 | color: #d14; } 177 | .highlight .se { 178 | color: #d14; } 179 | .highlight .sh { 180 | color: #d14; } 181 | .highlight .si { 182 | color: #d14; } 183 | .highlight .sx { 184 | color: #d14; } 185 | .highlight .sr { 186 | color: #009926; } 187 | .highlight .s1 { 188 | color: #d14; } 189 | .highlight .ss { 190 | color: #990073; } 191 | .highlight .bp { 192 | color: #999999; } 193 | .highlight .vc { 194 | color: #008080; } 195 | .highlight .vg { 196 | color: #008080; } 197 | .highlight .vi { 198 | color: #008080; } 199 | .highlight .il { 200 | color: #009999; } 201 | -------------------------------------------------------------------------------- /docs/css/jazzy.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { 2 | background: transparent; 3 | border: 0; 4 | margin: 0; 5 | outline: 0; 6 | padding: 0; 7 | vertical-align: baseline; } 8 | 9 | body { 10 | background-color: #f2f2f2; 11 | font-family: Helvetica, freesans, Arial, sans-serif; 12 | font-size: 14px; 13 | -webkit-font-smoothing: subpixel-antialiased; 14 | word-wrap: break-word; } 15 | 16 | h1, h2, h3 { 17 | margin-top: 0.8em; 18 | margin-bottom: 0.3em; 19 | font-weight: 100; 20 | color: black; } 21 | 22 | h1 { 23 | font-size: 2.5em; } 24 | 25 | h2 { 26 | font-size: 2em; 27 | border-bottom: 1px solid #e2e2e2; } 28 | 29 | h4 { 30 | font-size: 13px; 31 | line-height: 1.5; 32 | margin-top: 21px; } 33 | 34 | h5 { 35 | font-size: 1.1em; } 36 | 37 | h6 { 38 | font-size: 1.1em; 39 | color: #777; } 40 | 41 | .section-name { 42 | color: gray; 43 | display: block; 44 | font-family: Helvetica; 45 | font-size: 22px; 46 | font-weight: 100; 47 | margin-bottom: 15px; } 48 | 49 | pre, code { 50 | font: 0.95em Menlo, monospace; 51 | color: #777; 52 | word-wrap: normal; } 53 | 54 | p code, li code { 55 | background-color: #eee; 56 | padding: 2px 4px; 57 | border-radius: 4px; } 58 | 59 | a { 60 | color: #0088cc; 61 | text-decoration: none; } 62 | 63 | ul { 64 | padding-left: 15px; } 65 | 66 | li { 67 | line-height: 1.8em; } 68 | 69 | img { 70 | max-width: 100%; } 71 | 72 | blockquote { 73 | margin-left: 0; 74 | padding: 0 10px; 75 | border-left: 4px solid #ccc; } 76 | 77 | .content-wrapper { 78 | margin: 0 auto; 79 | width: 980px; } 80 | 81 | header { 82 | font-size: 0.85em; 83 | line-height: 26px; 84 | background-color: #414141; 85 | position: fixed; 86 | width: 100%; 87 | z-index: 1; } 88 | header img { 89 | padding-right: 6px; 90 | vertical-align: -4px; 91 | height: 16px; } 92 | header a { 93 | color: #fff; } 94 | header p { 95 | float: left; 96 | color: #999; } 97 | header .header-right { 98 | float: right; 99 | margin-left: 16px; } 100 | 101 | #breadcrumbs { 102 | background-color: #f2f2f2; 103 | height: 27px; 104 | padding-top: 17px; 105 | position: fixed; 106 | width: 100%; 107 | z-index: 1; 108 | margin-top: 26px; } 109 | #breadcrumbs #carat { 110 | height: 10px; 111 | margin: 0 5px; } 112 | 113 | .sidebar { 114 | background-color: #f9f9f9; 115 | border: 1px solid #e2e2e2; 116 | overflow-y: auto; 117 | overflow-x: hidden; 118 | position: fixed; 119 | top: 70px; 120 | bottom: 0; 121 | width: 230px; 122 | word-wrap: normal; } 123 | 124 | .nav-groups { 125 | list-style-type: none; 126 | background: #fff; 127 | padding-left: 0; } 128 | 129 | .nav-group-name { 130 | border-bottom: 1px solid #e2e2e2; 131 | font-size: 1.1em; 132 | font-weight: 100; 133 | padding: 15px 0 15px 20px; } 134 | .nav-group-name > a { 135 | color: #333; } 136 | 137 | .nav-group-tasks { 138 | margin-top: 5px; } 139 | 140 | .nav-group-task { 141 | font-size: 0.9em; 142 | list-style-type: none; 143 | white-space: nowrap; } 144 | .nav-group-task a { 145 | color: #888; } 146 | 147 | .main-content { 148 | background-color: #fff; 149 | border: 1px solid #e2e2e2; 150 | margin-left: 246px; 151 | position: absolute; 152 | overflow: hidden; 153 | padding-bottom: 60px; 154 | top: 70px; 155 | width: 734px; } 156 | .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { 157 | margin-bottom: 1em; } 158 | .main-content p { 159 | line-height: 1.8em; } 160 | .main-content section .section:first-child { 161 | margin-top: 0; 162 | padding-top: 0; } 163 | .main-content section .task-group-section .task-group:first-of-type { 164 | padding-top: 10px; } 165 | .main-content section .task-group-section .task-group:first-of-type .section-name { 166 | padding-top: 15px; } 167 | .main-content section .heading:before { 168 | content: ""; 169 | display: block; 170 | padding-top: 70px; 171 | margin: -70px 0 0; } 172 | 173 | .section { 174 | padding: 0 25px; } 175 | 176 | .highlight { 177 | background-color: #eee; 178 | padding: 10px 12px; 179 | border: 1px solid #e2e2e2; 180 | border-radius: 4px; 181 | overflow-x: auto; } 182 | 183 | .declaration .highlight { 184 | overflow-x: initial; 185 | padding: 0 40px 40px 0; 186 | margin-bottom: -25px; 187 | background-color: transparent; 188 | border: none; } 189 | 190 | .section-name { 191 | margin: 0; 192 | margin-left: 18px; } 193 | 194 | .task-group-section { 195 | padding-left: 6px; 196 | border-top: 1px solid #e2e2e2; } 197 | 198 | .task-group { 199 | padding-top: 0px; } 200 | 201 | .task-name-container a[name]:before { 202 | content: ""; 203 | display: block; 204 | padding-top: 70px; 205 | margin: -70px 0 0; } 206 | 207 | .item { 208 | padding-top: 8px; 209 | width: 100%; 210 | list-style-type: none; } 211 | .item a[name]:before { 212 | content: ""; 213 | display: block; 214 | padding-top: 70px; 215 | margin: -70px 0 0; } 216 | .item code { 217 | background-color: transparent; 218 | padding: 0; } 219 | .item .token { 220 | padding-left: 3px; 221 | margin-left: 15px; 222 | font-size: 11.9px; } 223 | .item .declaration-note { 224 | font-size: .85em; 225 | color: gray; 226 | font-style: italic; } 227 | 228 | .pointer-container { 229 | border-bottom: 1px solid #e2e2e2; 230 | left: -23px; 231 | padding-bottom: 13px; 232 | position: relative; 233 | width: 110%; } 234 | 235 | .pointer { 236 | background: #f9f9f9; 237 | border-left: 1px solid #e2e2e2; 238 | border-top: 1px solid #e2e2e2; 239 | height: 12px; 240 | left: 21px; 241 | top: -7px; 242 | -webkit-transform: rotate(45deg); 243 | -moz-transform: rotate(45deg); 244 | -o-transform: rotate(45deg); 245 | transform: rotate(45deg); 246 | position: absolute; 247 | width: 12px; } 248 | 249 | .height-container { 250 | display: none; 251 | left: -25px; 252 | padding: 0 25px; 253 | position: relative; 254 | width: 100%; 255 | overflow: hidden; } 256 | .height-container .section { 257 | background: #f9f9f9; 258 | border-bottom: 1px solid #e2e2e2; 259 | left: -25px; 260 | position: relative; 261 | width: 100%; 262 | padding-top: 10px; 263 | padding-bottom: 5px; } 264 | 265 | .aside, .language { 266 | padding: 6px 12px; 267 | margin: 12px 0; 268 | border-left: 5px solid #dddddd; 269 | overflow-y: hidden; } 270 | .aside .aside-title, .language .aside-title { 271 | font-size: 9px; 272 | letter-spacing: 2px; 273 | text-transform: uppercase; 274 | padding-bottom: 0; 275 | margin: 0; 276 | color: #aaa; 277 | -webkit-user-select: none; } 278 | .aside p:last-child, .language p:last-child { 279 | margin-bottom: 0; } 280 | 281 | .language { 282 | border-left: 5px solid #cde9f4; } 283 | .language .aside-title { 284 | color: #4b8afb; } 285 | 286 | .aside-warning { 287 | border-left: 5px solid #ff6666; } 288 | .aside-warning .aside-title { 289 | color: #ff0000; } 290 | 291 | .graybox { 292 | border-collapse: collapse; 293 | width: 100%; } 294 | .graybox p { 295 | margin: 0; 296 | word-break: break-word; 297 | min-width: 50px; } 298 | .graybox td { 299 | border: 1px solid #e2e2e2; 300 | padding: 5px 25px 5px 10px; 301 | vertical-align: middle; } 302 | .graybox tr td:first-of-type { 303 | text-align: right; 304 | padding: 7px; 305 | vertical-align: top; 306 | word-break: normal; 307 | width: 40px; } 308 | 309 | .slightly-smaller { 310 | font-size: 0.9em; } 311 | 312 | #footer { 313 | position: absolute; 314 | bottom: 10px; 315 | margin-left: 25px; } 316 | #footer p { 317 | margin: 0; 318 | color: #aaa; 319 | font-size: 0.8em; } 320 | 321 | html.dash header, html.dash #breadcrumbs, html.dash .sidebar { 322 | display: none; } 323 | html.dash .main-content { 324 | width: 980px; 325 | margin-left: 0; 326 | border: none; 327 | width: 100%; 328 | top: 0; 329 | padding-bottom: 0; } 330 | html.dash .height-container { 331 | display: block; } 332 | html.dash .item .token { 333 | margin-left: 0; } 334 | html.dash .content-wrapper { 335 | width: auto; } 336 | html.dash #footer { 337 | position: static; } 338 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIdentifier 6 | com.jazzy.peep 7 | CFBundleName 8 | Peep 9 | DocSetPlatformFamily 10 | peep 11 | isDashDocset 12 | 13 | dashIndexFilePath 14 | index.html 15 | isJavaScriptEnabled 16 | 17 | DashDocSetFamily 18 | dashtoc 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Enums.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enumerations Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Enumerations

74 |

The following enumerations are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | AlertTone 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public enum AlertTone : UInt32
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
  • 109 |
    110 | 111 | 112 | 113 | KeyPress 114 | 115 |
    116 |
    117 |
    118 |
    119 |
    120 |
    121 |

    Undocumented

    122 | 123 | See more 124 |
    125 |
    126 |

    Declaration

    127 |
    128 |

    Swift

    129 |
    public enum KeyPress : UInt32
    130 | 131 |
    132 |
    133 |
    134 |
    135 |
  • 136 |
  • 137 |
    138 | 139 | 140 | 141 | HapticFeedback 142 | 143 |
    144 |
    145 |
    146 |
    147 |
    148 |
    149 |

    Undocumented

    150 | 151 | See more 152 |
    153 |
    154 |

    Declaration

    155 |
    156 |

    Swift

    157 |
    public enum HapticFeedback : UInt32
    158 | 159 |
    160 |
    161 |
    162 |
    163 |
  • 164 |
165 |
166 |
167 |
168 | 172 |
173 |
174 | 175 | 176 | 177 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Enums/HapticFeedback.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HapticFeedback Enumeration Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

HapticFeedback

74 |
75 |
76 |
public enum HapticFeedback : UInt32
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | impact 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    case impact = 1520
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
  • 114 |
    115 | 116 | 117 | 118 | notification 119 | 120 |
    121 |
    122 |
    123 |
    124 |
    125 |
    126 |

    Undocumented

    127 | 128 |
    129 |
    130 |

    Declaration

    131 |
    132 |

    Swift

    133 |
    case notification = 1521
    134 | 135 |
    136 |
    137 |
    138 |
    139 |
  • 140 |
  • 141 |
    142 | 143 | 144 | 145 | selection 146 | 147 |
    148 |
    149 |
    150 |
    151 |
    152 |
    153 |

    Undocumented

    154 | 155 |
    156 |
    157 |

    Declaration

    158 |
    159 |

    Swift

    160 |
    case selection = 1519
    161 | 162 |
    163 |
    164 |
    165 |
    166 |
  • 167 |
168 |
169 |
170 |
    171 |
  • 172 |
    173 | 174 | 175 | 176 | play() 177 | 178 |
    179 |
    180 |
    181 |
    182 |
    183 |
    184 |

    Undocumented

    185 | 186 |
    187 |
    188 |

    Declaration

    189 |
    190 |

    Swift

    191 |
    public func play()
    192 | 193 |
    194 |
    195 |
    196 |
    197 |
  • 198 |
199 |
200 |
201 |
202 | 206 |
207 |
208 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Enums/KeyPress.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | KeyPress Enumeration Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

KeyPress

74 |
75 |
76 |
public enum KeyPress : UInt32
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | tap 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    case tap = 1104
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
    117 |
  • 118 |
    119 | 120 | 121 | 122 | play() 123 | 124 |
    125 |
    126 |
    127 |
    128 |
    129 |
    130 |

    Undocumented

    131 | 132 |
    133 |
    134 |

    Declaration

    135 |
    136 |

    Swift

    137 |
    public func play()
    138 | 139 |
    140 |
    141 |
    142 |
    143 |
  • 144 |
145 |
146 |
147 |
148 | 152 |
153 |
154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Extensions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Extensions Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Extensions

74 |

The following extensions are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | URL 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 | 94 | See more 95 |
    96 |
    97 |

    Declaration

    98 |
    99 |

    Swift

    100 |
    struct URL : ReferenceConvertible, Equatable
    101 | 102 |
    103 |
    104 |
    105 |
    106 |
  • 107 |
108 |
109 |
110 |
111 | 115 |
116 |
117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Extensions/URL.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | URL Extension Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

URL

74 |
75 |
76 |
struct URL : ReferenceConvertible, Equatable
77 | 78 |
79 |
80 | 81 |
82 |
83 |
84 |
    85 |
  • 86 |
    87 | 88 | 89 | 90 | play() 91 | 92 |
    93 |
    94 |
    95 |
    96 |
    97 |
    98 |

    Undocumented

    99 | 100 |
    101 |
    102 |

    Declaration

    103 |
    104 |

    Swift

    105 |
    public func play()
    106 | 107 |
    108 |
    109 |
    110 |
    111 |
  • 112 |
113 |
114 |
115 |
116 | 120 |
121 |
122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Protocols.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Protocols Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Protocols

74 |

The following protocols are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | Peepable 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public protocol Peepable
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
109 |
110 |
111 |
112 | 116 |
117 |
118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Protocols/Peepable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peepable Protocol Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Peepable

74 |
75 |
76 |
public protocol Peepable
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | play() 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    func play()
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
117 | 121 |
122 |
123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Structs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Structures Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Structures

74 |

The following structures are available globally.

75 | 76 |
77 |
78 |
79 |
    80 |
  • 81 |
    82 | 83 | 84 | 85 | Peep 86 | 87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 |

    Undocumented

    94 | 95 | See more 96 |
    97 |
    98 |

    Declaration

    99 |
    100 |

    Swift

    101 |
    public struct Peep
    102 | 103 |
    104 |
    105 |
    106 |
    107 |
  • 108 |
109 |
110 |
111 |
112 | 116 |
117 |
118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/Structs/Peep.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peep Structure Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 |

Peep Docs (1% documented)

18 |
19 |
20 |
21 | 26 |
27 |
28 | 70 |
71 |
72 |
73 |

Peep

74 |
75 |
76 |
public struct Peep
77 | 78 |
79 |
80 |

Undocumented

81 | 82 |
83 |
84 |
85 |
    86 |
  • 87 |
    88 | 89 | 90 | 91 | play(sound:) 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 |

    Undocumented

    100 | 101 |
    102 |
    103 |

    Declaration

    104 |
    105 |

    Swift

    106 |
    public static func play(sound: Peepable?)
    107 | 108 |
    109 |
    110 |
    111 |
    112 |
  • 113 |
114 |
115 |
116 |
117 | 121 |
122 |
123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | documentation 17 | 18 | 19 | documentation 20 | 21 | 22 | 1% 23 | 24 | 25 | 1% 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/css/highlight.css: -------------------------------------------------------------------------------- 1 | /* Credit to https://gist.github.com/wataru420/2048287 */ 2 | .highlight { 3 | /* Comment */ 4 | /* Error */ 5 | /* Keyword */ 6 | /* Operator */ 7 | /* Comment.Multiline */ 8 | /* Comment.Preproc */ 9 | /* Comment.Single */ 10 | /* Comment.Special */ 11 | /* Generic.Deleted */ 12 | /* Generic.Deleted.Specific */ 13 | /* Generic.Emph */ 14 | /* Generic.Error */ 15 | /* Generic.Heading */ 16 | /* Generic.Inserted */ 17 | /* Generic.Inserted.Specific */ 18 | /* Generic.Output */ 19 | /* Generic.Prompt */ 20 | /* Generic.Strong */ 21 | /* Generic.Subheading */ 22 | /* Generic.Traceback */ 23 | /* Keyword.Constant */ 24 | /* Keyword.Declaration */ 25 | /* Keyword.Pseudo */ 26 | /* Keyword.Reserved */ 27 | /* Keyword.Type */ 28 | /* Literal.Number */ 29 | /* Literal.String */ 30 | /* Name.Attribute */ 31 | /* Name.Builtin */ 32 | /* Name.Class */ 33 | /* Name.Constant */ 34 | /* Name.Entity */ 35 | /* Name.Exception */ 36 | /* Name.Function */ 37 | /* Name.Namespace */ 38 | /* Name.Tag */ 39 | /* Name.Variable */ 40 | /* Operator.Word */ 41 | /* Text.Whitespace */ 42 | /* Literal.Number.Float */ 43 | /* Literal.Number.Hex */ 44 | /* Literal.Number.Integer */ 45 | /* Literal.Number.Oct */ 46 | /* Literal.String.Backtick */ 47 | /* Literal.String.Char */ 48 | /* Literal.String.Doc */ 49 | /* Literal.String.Double */ 50 | /* Literal.String.Escape */ 51 | /* Literal.String.Heredoc */ 52 | /* Literal.String.Interpol */ 53 | /* Literal.String.Other */ 54 | /* Literal.String.Regex */ 55 | /* Literal.String.Single */ 56 | /* Literal.String.Symbol */ 57 | /* Name.Builtin.Pseudo */ 58 | /* Name.Variable.Class */ 59 | /* Name.Variable.Global */ 60 | /* Name.Variable.Instance */ 61 | /* Literal.Number.Integer.Long */ } 62 | .highlight .c { 63 | color: #999988; 64 | font-style: italic; } 65 | .highlight .err { 66 | color: #a61717; 67 | background-color: #e3d2d2; } 68 | .highlight .k { 69 | color: #000000; 70 | font-weight: bold; } 71 | .highlight .o { 72 | color: #000000; 73 | font-weight: bold; } 74 | .highlight .cm { 75 | color: #999988; 76 | font-style: italic; } 77 | .highlight .cp { 78 | color: #999999; 79 | font-weight: bold; } 80 | .highlight .c1 { 81 | color: #999988; 82 | font-style: italic; } 83 | .highlight .cs { 84 | color: #999999; 85 | font-weight: bold; 86 | font-style: italic; } 87 | .highlight .gd { 88 | color: #000000; 89 | background-color: #ffdddd; } 90 | .highlight .gd .x { 91 | color: #000000; 92 | background-color: #ffaaaa; } 93 | .highlight .ge { 94 | color: #000000; 95 | font-style: italic; } 96 | .highlight .gr { 97 | color: #aa0000; } 98 | .highlight .gh { 99 | color: #999999; } 100 | .highlight .gi { 101 | color: #000000; 102 | background-color: #ddffdd; } 103 | .highlight .gi .x { 104 | color: #000000; 105 | background-color: #aaffaa; } 106 | .highlight .go { 107 | color: #888888; } 108 | .highlight .gp { 109 | color: #555555; } 110 | .highlight .gs { 111 | font-weight: bold; } 112 | .highlight .gu { 113 | color: #aaaaaa; } 114 | .highlight .gt { 115 | color: #aa0000; } 116 | .highlight .kc { 117 | color: #000000; 118 | font-weight: bold; } 119 | .highlight .kd { 120 | color: #000000; 121 | font-weight: bold; } 122 | .highlight .kp { 123 | color: #000000; 124 | font-weight: bold; } 125 | .highlight .kr { 126 | color: #000000; 127 | font-weight: bold; } 128 | .highlight .kt { 129 | color: #445588; } 130 | .highlight .m { 131 | color: #009999; } 132 | .highlight .s { 133 | color: #d14; } 134 | .highlight .na { 135 | color: #008080; } 136 | .highlight .nb { 137 | color: #0086B3; } 138 | .highlight .nc { 139 | color: #445588; 140 | font-weight: bold; } 141 | .highlight .no { 142 | color: #008080; } 143 | .highlight .ni { 144 | color: #800080; } 145 | .highlight .ne { 146 | color: #990000; 147 | font-weight: bold; } 148 | .highlight .nf { 149 | color: #990000; } 150 | .highlight .nn { 151 | color: #555555; } 152 | .highlight .nt { 153 | color: #000080; } 154 | .highlight .nv { 155 | color: #008080; } 156 | .highlight .ow { 157 | color: #000000; 158 | font-weight: bold; } 159 | .highlight .w { 160 | color: #bbbbbb; } 161 | .highlight .mf { 162 | color: #009999; } 163 | .highlight .mh { 164 | color: #009999; } 165 | .highlight .mi { 166 | color: #009999; } 167 | .highlight .mo { 168 | color: #009999; } 169 | .highlight .sb { 170 | color: #d14; } 171 | .highlight .sc { 172 | color: #d14; } 173 | .highlight .sd { 174 | color: #d14; } 175 | .highlight .s2 { 176 | color: #d14; } 177 | .highlight .se { 178 | color: #d14; } 179 | .highlight .sh { 180 | color: #d14; } 181 | .highlight .si { 182 | color: #d14; } 183 | .highlight .sx { 184 | color: #d14; } 185 | .highlight .sr { 186 | color: #009926; } 187 | .highlight .s1 { 188 | color: #d14; } 189 | .highlight .ss { 190 | color: #990073; } 191 | .highlight .bp { 192 | color: #999999; } 193 | .highlight .vc { 194 | color: #008080; } 195 | .highlight .vg { 196 | color: #008080; } 197 | .highlight .vi { 198 | color: #008080; } 199 | .highlight .il { 200 | color: #009999; } 201 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/css/jazzy.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { 2 | background: transparent; 3 | border: 0; 4 | margin: 0; 5 | outline: 0; 6 | padding: 0; 7 | vertical-align: baseline; } 8 | 9 | body { 10 | background-color: #f2f2f2; 11 | font-family: Helvetica, freesans, Arial, sans-serif; 12 | font-size: 14px; 13 | -webkit-font-smoothing: subpixel-antialiased; 14 | word-wrap: break-word; } 15 | 16 | h1, h2, h3 { 17 | margin-top: 0.8em; 18 | margin-bottom: 0.3em; 19 | font-weight: 100; 20 | color: black; } 21 | 22 | h1 { 23 | font-size: 2.5em; } 24 | 25 | h2 { 26 | font-size: 2em; 27 | border-bottom: 1px solid #e2e2e2; } 28 | 29 | h4 { 30 | font-size: 13px; 31 | line-height: 1.5; 32 | margin-top: 21px; } 33 | 34 | h5 { 35 | font-size: 1.1em; } 36 | 37 | h6 { 38 | font-size: 1.1em; 39 | color: #777; } 40 | 41 | .section-name { 42 | color: gray; 43 | display: block; 44 | font-family: Helvetica; 45 | font-size: 22px; 46 | font-weight: 100; 47 | margin-bottom: 15px; } 48 | 49 | pre, code { 50 | font: 0.95em Menlo, monospace; 51 | color: #777; 52 | word-wrap: normal; } 53 | 54 | p code, li code { 55 | background-color: #eee; 56 | padding: 2px 4px; 57 | border-radius: 4px; } 58 | 59 | a { 60 | color: #0088cc; 61 | text-decoration: none; } 62 | 63 | ul { 64 | padding-left: 15px; } 65 | 66 | li { 67 | line-height: 1.8em; } 68 | 69 | img { 70 | max-width: 100%; } 71 | 72 | blockquote { 73 | margin-left: 0; 74 | padding: 0 10px; 75 | border-left: 4px solid #ccc; } 76 | 77 | .content-wrapper { 78 | margin: 0 auto; 79 | width: 980px; } 80 | 81 | header { 82 | font-size: 0.85em; 83 | line-height: 26px; 84 | background-color: #414141; 85 | position: fixed; 86 | width: 100%; 87 | z-index: 1; } 88 | header img { 89 | padding-right: 6px; 90 | vertical-align: -4px; 91 | height: 16px; } 92 | header a { 93 | color: #fff; } 94 | header p { 95 | float: left; 96 | color: #999; } 97 | header .header-right { 98 | float: right; 99 | margin-left: 16px; } 100 | 101 | #breadcrumbs { 102 | background-color: #f2f2f2; 103 | height: 27px; 104 | padding-top: 17px; 105 | position: fixed; 106 | width: 100%; 107 | z-index: 1; 108 | margin-top: 26px; } 109 | #breadcrumbs #carat { 110 | height: 10px; 111 | margin: 0 5px; } 112 | 113 | .sidebar { 114 | background-color: #f9f9f9; 115 | border: 1px solid #e2e2e2; 116 | overflow-y: auto; 117 | overflow-x: hidden; 118 | position: fixed; 119 | top: 70px; 120 | bottom: 0; 121 | width: 230px; 122 | word-wrap: normal; } 123 | 124 | .nav-groups { 125 | list-style-type: none; 126 | background: #fff; 127 | padding-left: 0; } 128 | 129 | .nav-group-name { 130 | border-bottom: 1px solid #e2e2e2; 131 | font-size: 1.1em; 132 | font-weight: 100; 133 | padding: 15px 0 15px 20px; } 134 | .nav-group-name > a { 135 | color: #333; } 136 | 137 | .nav-group-tasks { 138 | margin-top: 5px; } 139 | 140 | .nav-group-task { 141 | font-size: 0.9em; 142 | list-style-type: none; 143 | white-space: nowrap; } 144 | .nav-group-task a { 145 | color: #888; } 146 | 147 | .main-content { 148 | background-color: #fff; 149 | border: 1px solid #e2e2e2; 150 | margin-left: 246px; 151 | position: absolute; 152 | overflow: hidden; 153 | padding-bottom: 60px; 154 | top: 70px; 155 | width: 734px; } 156 | .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { 157 | margin-bottom: 1em; } 158 | .main-content p { 159 | line-height: 1.8em; } 160 | .main-content section .section:first-child { 161 | margin-top: 0; 162 | padding-top: 0; } 163 | .main-content section .task-group-section .task-group:first-of-type { 164 | padding-top: 10px; } 165 | .main-content section .task-group-section .task-group:first-of-type .section-name { 166 | padding-top: 15px; } 167 | .main-content section .heading:before { 168 | content: ""; 169 | display: block; 170 | padding-top: 70px; 171 | margin: -70px 0 0; } 172 | 173 | .section { 174 | padding: 0 25px; } 175 | 176 | .highlight { 177 | background-color: #eee; 178 | padding: 10px 12px; 179 | border: 1px solid #e2e2e2; 180 | border-radius: 4px; 181 | overflow-x: auto; } 182 | 183 | .declaration .highlight { 184 | overflow-x: initial; 185 | padding: 0 40px 40px 0; 186 | margin-bottom: -25px; 187 | background-color: transparent; 188 | border: none; } 189 | 190 | .section-name { 191 | margin: 0; 192 | margin-left: 18px; } 193 | 194 | .task-group-section { 195 | padding-left: 6px; 196 | border-top: 1px solid #e2e2e2; } 197 | 198 | .task-group { 199 | padding-top: 0px; } 200 | 201 | .task-name-container a[name]:before { 202 | content: ""; 203 | display: block; 204 | padding-top: 70px; 205 | margin: -70px 0 0; } 206 | 207 | .item { 208 | padding-top: 8px; 209 | width: 100%; 210 | list-style-type: none; } 211 | .item a[name]:before { 212 | content: ""; 213 | display: block; 214 | padding-top: 70px; 215 | margin: -70px 0 0; } 216 | .item code { 217 | background-color: transparent; 218 | padding: 0; } 219 | .item .token { 220 | padding-left: 3px; 221 | margin-left: 15px; 222 | font-size: 11.9px; } 223 | .item .declaration-note { 224 | font-size: .85em; 225 | color: gray; 226 | font-style: italic; } 227 | 228 | .pointer-container { 229 | border-bottom: 1px solid #e2e2e2; 230 | left: -23px; 231 | padding-bottom: 13px; 232 | position: relative; 233 | width: 110%; } 234 | 235 | .pointer { 236 | background: #f9f9f9; 237 | border-left: 1px solid #e2e2e2; 238 | border-top: 1px solid #e2e2e2; 239 | height: 12px; 240 | left: 21px; 241 | top: -7px; 242 | -webkit-transform: rotate(45deg); 243 | -moz-transform: rotate(45deg); 244 | -o-transform: rotate(45deg); 245 | transform: rotate(45deg); 246 | position: absolute; 247 | width: 12px; } 248 | 249 | .height-container { 250 | display: none; 251 | left: -25px; 252 | padding: 0 25px; 253 | position: relative; 254 | width: 100%; 255 | overflow: hidden; } 256 | .height-container .section { 257 | background: #f9f9f9; 258 | border-bottom: 1px solid #e2e2e2; 259 | left: -25px; 260 | position: relative; 261 | width: 100%; 262 | padding-top: 10px; 263 | padding-bottom: 5px; } 264 | 265 | .aside, .language { 266 | padding: 6px 12px; 267 | margin: 12px 0; 268 | border-left: 5px solid #dddddd; 269 | overflow-y: hidden; } 270 | .aside .aside-title, .language .aside-title { 271 | font-size: 9px; 272 | letter-spacing: 2px; 273 | text-transform: uppercase; 274 | padding-bottom: 0; 275 | margin: 0; 276 | color: #aaa; 277 | -webkit-user-select: none; } 278 | .aside p:last-child, .language p:last-child { 279 | margin-bottom: 0; } 280 | 281 | .language { 282 | border-left: 5px solid #cde9f4; } 283 | .language .aside-title { 284 | color: #4b8afb; } 285 | 286 | .aside-warning { 287 | border-left: 5px solid #ff6666; } 288 | .aside-warning .aside-title { 289 | color: #ff0000; } 290 | 291 | .graybox { 292 | border-collapse: collapse; 293 | width: 100%; } 294 | .graybox p { 295 | margin: 0; 296 | word-break: break-word; 297 | min-width: 50px; } 298 | .graybox td { 299 | border: 1px solid #e2e2e2; 300 | padding: 5px 25px 5px 10px; 301 | vertical-align: middle; } 302 | .graybox tr td:first-of-type { 303 | text-align: right; 304 | padding: 7px; 305 | vertical-align: top; 306 | word-break: normal; 307 | width: 40px; } 308 | 309 | .slightly-smaller { 310 | font-size: 0.9em; } 311 | 312 | #footer { 313 | position: absolute; 314 | bottom: 10px; 315 | margin-left: 25px; } 316 | #footer p { 317 | margin: 0; 318 | color: #aaa; 319 | font-size: 0.8em; } 320 | 321 | html.dash header, html.dash #breadcrumbs, html.dash .sidebar { 322 | display: none; } 323 | html.dash .main-content { 324 | width: 980px; 325 | margin-left: 0; 326 | border: none; 327 | width: 100%; 328 | top: 0; 329 | padding-bottom: 0; } 330 | html.dash .height-container { 331 | display: block; } 332 | html.dash .item .token { 333 | margin-left: 0; } 334 | html.dash .content-wrapper { 335 | width: auto; } 336 | html.dash #footer { 337 | position: static; } 338 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/img/carat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/docsets/Peep.docset/Contents/Resources/Documents/img/carat.png -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/img/dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/docsets/Peep.docset/Contents/Resources/Documents/img/dash.png -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/img/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/docsets/Peep.docset/Contents/Resources/Documents/img/gh.png -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peep Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |

Peep Docs (1% documented)

17 |
18 |
19 |
20 | 25 |
26 |
27 | 69 |
70 |
71 |
72 | 73 |

Peep

74 | 75 |

Build Status 76 | Version 77 | License 78 | Platform 79 | Carthage compatible

80 | 81 |

Peep is an easy sound generator library.

82 |
$ pod try Peep
 83 | 
84 |

Requirements

85 | 86 |
    87 |
  • iOS 10.0+
  • 88 |
  • Xcode 8.0+
  • 89 |
  • Swift 4 (Peep 2.x), Swift 3 (Peep 1.x)
  • 90 |
91 |

Usage

92 | 93 |

Playing sounds is super simple.

94 |
import Peep
 95 | 
 96 | // play alert tone
 97 | Peep.play(sound: AlertTone.tweet)
 98 | 
 99 | // play key press
100 | Peep.play(sound: KeyPress.tap)
101 | 
102 | // play haptic feedback
103 | Peep.play(sound: HapticFeedback.selection)
104 | 
105 | // play url
106 | Peep.play(sound: Bundle.main.url(forResource: "Success", withExtension: "m4a"))
107 | 
108 |

Haptic Feedback

109 | 110 |

Add haptic feedback to Peep using Haptica.

111 |
Haptic.impact(.light).generate()
112 | 
113 |

Installation

114 |

CocoaPods

115 | 116 |

To install with CocoaPods, simply add this in your Podfile:

117 |
use_frameworks!
118 | pod "Peep"
119 | 
120 |

Carthage

121 | 122 |

To install with Carthage, simply add this in your Cartfile:

123 |
github "efremidze/Peep"
124 | 
125 |

Communication

126 | 127 |
    128 |
  • If you found a bug, open an issue.
  • 129 |
  • If you have a feature request, open an issue.
  • 130 |
  • If you want to contribute, submit a pull request.
  • 131 |
132 |

Credits

133 | 134 | 137 |

License

138 | 139 |

Peep is available under the MIT license. See the LICENSE file for more info.

140 | 141 |
142 |
143 | 147 |
148 |
149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/js/jazzy.js: -------------------------------------------------------------------------------- 1 | window.jazzy = {'docset': false} 2 | if (typeof window.dash != 'undefined') { 3 | document.documentElement.className += ' dash' 4 | window.jazzy.docset = true 5 | } 6 | if (navigator.userAgent.match(/xcode/i)) { 7 | document.documentElement.className += ' xcode' 8 | window.jazzy.docset = true 9 | } 10 | 11 | // On doc load, toggle the URL hash discussion if present 12 | $(document).ready(function() { 13 | if (!window.jazzy.docset) { 14 | var linkToHash = $('a[href="' + window.location.hash +'"]'); 15 | linkToHash.trigger("click"); 16 | } 17 | }); 18 | 19 | // On token click, toggle its discussion and animate token.marginLeft 20 | $(".token").click(function(event) { 21 | if (window.jazzy.docset) { 22 | return; 23 | } 24 | var link = $(this); 25 | var animationDuration = 300; 26 | var tokenOffset = "15px"; 27 | var original = link.css('marginLeft') == tokenOffset; 28 | link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); 29 | $content = link.parent().parent().next(); 30 | $content.slideToggle(animationDuration); 31 | 32 | // Keeps the document from jumping to the hash. 33 | var href = $(this).attr('href'); 34 | if (history.pushState) { 35 | history.pushState({}, '', href); 36 | } else { 37 | location.hash = href; 38 | } 39 | event.preventDefault(); 40 | }); 41 | 42 | // Dumb down quotes within code blocks that delimit strings instead of quotations 43 | // https://github.com/realm/jazzy/issues/714 44 | $("code q").replaceWith(function () { 45 | return ["\"", $(this).contents(), "\""]; 46 | }); 47 | -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/Documents/search.json: -------------------------------------------------------------------------------- 1 | {"Structs/Peep.html#/s:4PeepAAV4play5soundyAA8Peepable_pSg_tFZ":{"name":"play(sound:)","abstract":"

Undocumented

","parent_name":"Peep"},"Structs/Peep.html":{"name":"Peep","abstract":"

Undocumented

"},"Protocols/Peepable.html#/s:4Peep8PeepableP4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"Peepable"},"Protocols/Peepable.html":{"name":"Peepable","abstract":"

Undocumented

"},"Extensions/URL.html#/s:10Foundation3URLV4PeepE4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"URL"},"Extensions/URL.html":{"name":"URL"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO6impactyA2CmF":{"name":"impact","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO12notificationyA2CmF":{"name":"notification","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO9selectionyA2CmF":{"name":"selection","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/KeyPress.html#/s:4Peep8KeyPressO3tapyA2CmF":{"name":"tap","abstract":"

Undocumented

","parent_name":"KeyPress"},"Enums/KeyPress.html#/s:4Peep8KeyPressO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"KeyPress"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4noteyA2CmF":{"name":"note","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6aurorayA2CmF":{"name":"aurora","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6bambooyA2CmF":{"name":"bamboo","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5chordyA2CmF":{"name":"chord","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7circlesyA2CmF":{"name":"circles","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8completeyA2CmF":{"name":"complete","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5helloyA2CmF":{"name":"hello","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5inputyA2CmF":{"name":"input","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4keysyA2CmF":{"name":"keys","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7popcornyA2CmF":{"name":"popcorn","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5pulseyA2CmF":{"name":"pulse","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5synthyA2CmF":{"name":"synth","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5alertyA2CmF":{"name":"alert","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO10anticipateyA2CmF":{"name":"anticipate","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4bellyA2CmF":{"name":"bell","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5bloomyA2CmF":{"name":"bloom","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7calypsoyA2CmF":{"name":"calypso","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5chimeyA2CmF":{"name":"chime","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8choochooyA2CmF":{"name":"choochoo","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7descentyA2CmF":{"name":"descent","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4dingyA2CmF":{"name":"ding","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO10electronicyA2CmF":{"name":"electronic","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7fanfareyA2CmF":{"name":"fanfare","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5glassyA2CmF":{"name":"glass","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4hornyA2CmF":{"name":"horn","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6ladderyA2CmF":{"name":"ladder","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6minuetyA2CmF":{"name":"minuet","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO9newsflashyA2CmF":{"name":"newsflash","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4noiryA2CmF":{"name":"noir","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO14sherwoodforestyA2CmF":{"name":"sherwoodforest","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5spellyA2CmF":{"name":"spell","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8suspenceyA2CmF":{"name":"suspence","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5swishyA2CmF":{"name":"swish","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6swooshyA2CmF":{"name":"swoosh","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO9telegraphyA2CmF":{"name":"telegraph","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7tiptoesyA2CmF":{"name":"tiptoes","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7tritoneyA2CmF":{"name":"tritone","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5tweetyA2CmF":{"name":"tweet","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO11typewritersyA2CmF":{"name":"typewriters","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6updateyA2CmF":{"name":"update","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html":{"name":"AlertTone","abstract":"

Undocumented

"},"Enums/KeyPress.html":{"name":"KeyPress","abstract":"

Undocumented

"},"Enums/HapticFeedback.html":{"name":"HapticFeedback","abstract":"

Undocumented

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Extensions.html":{"name":"Extensions","abstract":"

The following extensions are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} -------------------------------------------------------------------------------- /docs/docsets/Peep.docset/Contents/Resources/docSet.dsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/docsets/Peep.docset/Contents/Resources/docSet.dsidx -------------------------------------------------------------------------------- /docs/docsets/Peep.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/docsets/Peep.tgz -------------------------------------------------------------------------------- /docs/img/carat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/img/carat.png -------------------------------------------------------------------------------- /docs/img/dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/img/dash.png -------------------------------------------------------------------------------- /docs/img/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/efremidze/Peep/ad28b16d3aceafa39e034573d4e43833563ccb5a/docs/img/gh.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Peep Reference 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |

Peep Docs (1% documented)

17 |
18 |
19 |
20 | 25 |
26 |
27 | 69 |
70 |
71 |
72 | 73 |

Peep

74 | 75 |

Build Status 76 | Version 77 | License 78 | Platform 79 | Carthage compatible

80 | 81 |

Peep is an easy sound generator library.

82 |
$ pod try Peep
 83 | 
84 |

Requirements

85 | 86 |
    87 |
  • iOS 10.0+
  • 88 |
  • Xcode 8.0+
  • 89 |
  • Swift 4 (Peep 2.x), Swift 3 (Peep 1.x)
  • 90 |
91 |

Usage

92 | 93 |

Playing sounds is super simple.

94 |
import Peep
 95 | 
 96 | // play alert tone
 97 | Peep.play(sound: AlertTone.tweet)
 98 | 
 99 | // play key press
100 | Peep.play(sound: KeyPress.tap)
101 | 
102 | // play haptic feedback
103 | Peep.play(sound: HapticFeedback.selection)
104 | 
105 | // play url
106 | Peep.play(sound: Bundle.main.url(forResource: "Success", withExtension: "m4a"))
107 | 
108 |

Haptic Feedback

109 | 110 |

Add haptic feedback to Peep using Haptica.

111 |
Haptic.impact(.light).generate()
112 | 
113 |

Installation

114 |

CocoaPods

115 | 116 |

To install with CocoaPods, simply add this in your Podfile:

117 |
use_frameworks!
118 | pod "Peep"
119 | 
120 |

Carthage

121 | 122 |

To install with Carthage, simply add this in your Cartfile:

123 |
github "efremidze/Peep"
124 | 
125 |

Communication

126 | 127 |
    128 |
  • If you found a bug, open an issue.
  • 129 |
  • If you have a feature request, open an issue.
  • 130 |
  • If you want to contribute, submit a pull request.
  • 131 |
132 |

Credits

133 | 134 | 137 |

License

138 | 139 |

Peep is available under the MIT license. See the LICENSE file for more info.

140 | 141 |
142 |
143 | 147 |
148 |
149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /docs/js/jazzy.js: -------------------------------------------------------------------------------- 1 | window.jazzy = {'docset': false} 2 | if (typeof window.dash != 'undefined') { 3 | document.documentElement.className += ' dash' 4 | window.jazzy.docset = true 5 | } 6 | if (navigator.userAgent.match(/xcode/i)) { 7 | document.documentElement.className += ' xcode' 8 | window.jazzy.docset = true 9 | } 10 | 11 | // On doc load, toggle the URL hash discussion if present 12 | $(document).ready(function() { 13 | if (!window.jazzy.docset) { 14 | var linkToHash = $('a[href="' + window.location.hash +'"]'); 15 | linkToHash.trigger("click"); 16 | } 17 | }); 18 | 19 | // On token click, toggle its discussion and animate token.marginLeft 20 | $(".token").click(function(event) { 21 | if (window.jazzy.docset) { 22 | return; 23 | } 24 | var link = $(this); 25 | var animationDuration = 300; 26 | var tokenOffset = "15px"; 27 | var original = link.css('marginLeft') == tokenOffset; 28 | link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); 29 | $content = link.parent().parent().next(); 30 | $content.slideToggle(animationDuration); 31 | 32 | // Keeps the document from jumping to the hash. 33 | var href = $(this).attr('href'); 34 | if (history.pushState) { 35 | history.pushState({}, '', href); 36 | } else { 37 | location.hash = href; 38 | } 39 | event.preventDefault(); 40 | }); 41 | 42 | // Dumb down quotes within code blocks that delimit strings instead of quotations 43 | // https://github.com/realm/jazzy/issues/714 44 | $("code q").replaceWith(function () { 45 | return ["\"", $(this).contents(), "\""]; 46 | }); 47 | -------------------------------------------------------------------------------- /docs/search.json: -------------------------------------------------------------------------------- 1 | {"Structs/Peep.html#/s:4PeepAAV4play5soundyAA8Peepable_pSg_tFZ":{"name":"play(sound:)","abstract":"

Undocumented

","parent_name":"Peep"},"Structs/Peep.html":{"name":"Peep","abstract":"

Undocumented

"},"Protocols/Peepable.html#/s:4Peep8PeepableP4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"Peepable"},"Protocols/Peepable.html":{"name":"Peepable","abstract":"

Undocumented

"},"Extensions/URL.html#/s:10Foundation3URLV4PeepE4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"URL"},"Extensions/URL.html":{"name":"URL"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO6impactyA2CmF":{"name":"impact","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO12notificationyA2CmF":{"name":"notification","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO9selectionyA2CmF":{"name":"selection","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/HapticFeedback.html#/s:4Peep14HapticFeedbackO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"HapticFeedback"},"Enums/KeyPress.html#/s:4Peep8KeyPressO3tapyA2CmF":{"name":"tap","abstract":"

Undocumented

","parent_name":"KeyPress"},"Enums/KeyPress.html#/s:4Peep8KeyPressO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"KeyPress"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4noteyA2CmF":{"name":"note","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6aurorayA2CmF":{"name":"aurora","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6bambooyA2CmF":{"name":"bamboo","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5chordyA2CmF":{"name":"chord","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7circlesyA2CmF":{"name":"circles","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8completeyA2CmF":{"name":"complete","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5helloyA2CmF":{"name":"hello","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5inputyA2CmF":{"name":"input","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4keysyA2CmF":{"name":"keys","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7popcornyA2CmF":{"name":"popcorn","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5pulseyA2CmF":{"name":"pulse","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5synthyA2CmF":{"name":"synth","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5alertyA2CmF":{"name":"alert","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO10anticipateyA2CmF":{"name":"anticipate","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4bellyA2CmF":{"name":"bell","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5bloomyA2CmF":{"name":"bloom","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7calypsoyA2CmF":{"name":"calypso","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5chimeyA2CmF":{"name":"chime","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8choochooyA2CmF":{"name":"choochoo","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7descentyA2CmF":{"name":"descent","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4dingyA2CmF":{"name":"ding","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO10electronicyA2CmF":{"name":"electronic","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7fanfareyA2CmF":{"name":"fanfare","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5glassyA2CmF":{"name":"glass","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4hornyA2CmF":{"name":"horn","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6ladderyA2CmF":{"name":"ladder","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6minuetyA2CmF":{"name":"minuet","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO9newsflashyA2CmF":{"name":"newsflash","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4noiryA2CmF":{"name":"noir","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO14sherwoodforestyA2CmF":{"name":"sherwoodforest","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5spellyA2CmF":{"name":"spell","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO8suspenceyA2CmF":{"name":"suspence","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5swishyA2CmF":{"name":"swish","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6swooshyA2CmF":{"name":"swoosh","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO9telegraphyA2CmF":{"name":"telegraph","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7tiptoesyA2CmF":{"name":"tiptoes","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO7tritoneyA2CmF":{"name":"tritone","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO5tweetyA2CmF":{"name":"tweet","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO11typewritersyA2CmF":{"name":"typewriters","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO6updateyA2CmF":{"name":"update","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html#/s:4Peep9AlertToneO4playyyF":{"name":"play()","abstract":"

Undocumented

","parent_name":"AlertTone"},"Enums/AlertTone.html":{"name":"AlertTone","abstract":"

Undocumented

"},"Enums/KeyPress.html":{"name":"KeyPress","abstract":"

Undocumented

"},"Enums/HapticFeedback.html":{"name":"HapticFeedback","abstract":"

Undocumented

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Extensions.html":{"name":"Extensions","abstract":"

The following extensions are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} -------------------------------------------------------------------------------- /docs/undocumented.json: -------------------------------------------------------------------------------- 1 | { 2 | "warnings": [ 3 | { 4 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 5 | "line": null, 6 | "symbol": "AlertTone", 7 | "symbol_kind": "source.lang.swift.decl.extension", 8 | "warning": "undocumented" 9 | }, 10 | { 11 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 12 | "line": null, 13 | "symbol": "HapticFeedback", 14 | "symbol_kind": "source.lang.swift.decl.extension", 15 | "warning": "undocumented" 16 | }, 17 | { 18 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 19 | "line": null, 20 | "symbol": "KeyPress", 21 | "symbol_kind": "source.lang.swift.decl.extension", 22 | "warning": "undocumented" 23 | }, 24 | { 25 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 26 | "line": 13, 27 | "symbol": "Peepable", 28 | "symbol_kind": "source.lang.swift.decl.protocol", 29 | "warning": "undocumented" 30 | }, 31 | { 32 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 33 | "line": 14, 34 | "symbol": "Peepable.play()", 35 | "symbol_kind": "source.lang.swift.decl.function.method.instance", 36 | "warning": "undocumented" 37 | }, 38 | { 39 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 40 | "line": 17, 41 | "symbol": "Peep", 42 | "symbol_kind": "source.lang.swift.decl.struct", 43 | "warning": "undocumented" 44 | }, 45 | { 46 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 47 | "line": 18, 48 | "symbol": "Peep.play(sound:)", 49 | "symbol_kind": "source.lang.swift.decl.function.method.static", 50 | "warning": "undocumented" 51 | }, 52 | { 53 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 54 | "line": 24, 55 | "symbol": "AlertTone", 56 | "symbol_kind": "source.lang.swift.decl.enum", 57 | "warning": "undocumented" 58 | }, 59 | { 60 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 61 | "line": 25, 62 | "symbol": "AlertTone.note", 63 | "symbol_kind": "source.lang.swift.decl.enumelement", 64 | "warning": "undocumented" 65 | }, 66 | { 67 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 68 | "line": 26, 69 | "symbol": "AlertTone.aurora", 70 | "symbol_kind": "source.lang.swift.decl.enumelement", 71 | "warning": "undocumented" 72 | }, 73 | { 74 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 75 | "line": 27, 76 | "symbol": "AlertTone.bamboo", 77 | "symbol_kind": "source.lang.swift.decl.enumelement", 78 | "warning": "undocumented" 79 | }, 80 | { 81 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 82 | "line": 28, 83 | "symbol": "AlertTone.chord", 84 | "symbol_kind": "source.lang.swift.decl.enumelement", 85 | "warning": "undocumented" 86 | }, 87 | { 88 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 89 | "line": 29, 90 | "symbol": "AlertTone.circles", 91 | "symbol_kind": "source.lang.swift.decl.enumelement", 92 | "warning": "undocumented" 93 | }, 94 | { 95 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 96 | "line": 30, 97 | "symbol": "AlertTone.complete", 98 | "symbol_kind": "source.lang.swift.decl.enumelement", 99 | "warning": "undocumented" 100 | }, 101 | { 102 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 103 | "line": 31, 104 | "symbol": "AlertTone.hello", 105 | "symbol_kind": "source.lang.swift.decl.enumelement", 106 | "warning": "undocumented" 107 | }, 108 | { 109 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 110 | "line": 32, 111 | "symbol": "AlertTone.input", 112 | "symbol_kind": "source.lang.swift.decl.enumelement", 113 | "warning": "undocumented" 114 | }, 115 | { 116 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 117 | "line": 33, 118 | "symbol": "AlertTone.keys", 119 | "symbol_kind": "source.lang.swift.decl.enumelement", 120 | "warning": "undocumented" 121 | }, 122 | { 123 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 124 | "line": 34, 125 | "symbol": "AlertTone.popcorn", 126 | "symbol_kind": "source.lang.swift.decl.enumelement", 127 | "warning": "undocumented" 128 | }, 129 | { 130 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 131 | "line": 35, 132 | "symbol": "AlertTone.pulse", 133 | "symbol_kind": "source.lang.swift.decl.enumelement", 134 | "warning": "undocumented" 135 | }, 136 | { 137 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 138 | "line": 36, 139 | "symbol": "AlertTone.synth", 140 | "symbol_kind": "source.lang.swift.decl.enumelement", 141 | "warning": "undocumented" 142 | }, 143 | { 144 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 145 | "line": 37, 146 | "symbol": "AlertTone.alert", 147 | "symbol_kind": "source.lang.swift.decl.enumelement", 148 | "warning": "undocumented" 149 | }, 150 | { 151 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 152 | "line": 38, 153 | "symbol": "AlertTone.anticipate", 154 | "symbol_kind": "source.lang.swift.decl.enumelement", 155 | "warning": "undocumented" 156 | }, 157 | { 158 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 159 | "line": 39, 160 | "symbol": "AlertTone.bell", 161 | "symbol_kind": "source.lang.swift.decl.enumelement", 162 | "warning": "undocumented" 163 | }, 164 | { 165 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 166 | "line": 40, 167 | "symbol": "AlertTone.bloom", 168 | "symbol_kind": "source.lang.swift.decl.enumelement", 169 | "warning": "undocumented" 170 | }, 171 | { 172 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 173 | "line": 41, 174 | "symbol": "AlertTone.calypso", 175 | "symbol_kind": "source.lang.swift.decl.enumelement", 176 | "warning": "undocumented" 177 | }, 178 | { 179 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 180 | "line": 42, 181 | "symbol": "AlertTone.chime", 182 | "symbol_kind": "source.lang.swift.decl.enumelement", 183 | "warning": "undocumented" 184 | }, 185 | { 186 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 187 | "line": 43, 188 | "symbol": "AlertTone.choochoo", 189 | "symbol_kind": "source.lang.swift.decl.enumelement", 190 | "warning": "undocumented" 191 | }, 192 | { 193 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 194 | "line": 44, 195 | "symbol": "AlertTone.descent", 196 | "symbol_kind": "source.lang.swift.decl.enumelement", 197 | "warning": "undocumented" 198 | }, 199 | { 200 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 201 | "line": 45, 202 | "symbol": "AlertTone.ding", 203 | "symbol_kind": "source.lang.swift.decl.enumelement", 204 | "warning": "undocumented" 205 | }, 206 | { 207 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 208 | "line": 46, 209 | "symbol": "AlertTone.electronic", 210 | "symbol_kind": "source.lang.swift.decl.enumelement", 211 | "warning": "undocumented" 212 | }, 213 | { 214 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 215 | "line": 47, 216 | "symbol": "AlertTone.fanfare", 217 | "symbol_kind": "source.lang.swift.decl.enumelement", 218 | "warning": "undocumented" 219 | }, 220 | { 221 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 222 | "line": 48, 223 | "symbol": "AlertTone.glass", 224 | "symbol_kind": "source.lang.swift.decl.enumelement", 225 | "warning": "undocumented" 226 | }, 227 | { 228 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 229 | "line": 49, 230 | "symbol": "AlertTone.horn", 231 | "symbol_kind": "source.lang.swift.decl.enumelement", 232 | "warning": "undocumented" 233 | }, 234 | { 235 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 236 | "line": 50, 237 | "symbol": "AlertTone.ladder", 238 | "symbol_kind": "source.lang.swift.decl.enumelement", 239 | "warning": "undocumented" 240 | }, 241 | { 242 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 243 | "line": 51, 244 | "symbol": "AlertTone.minuet", 245 | "symbol_kind": "source.lang.swift.decl.enumelement", 246 | "warning": "undocumented" 247 | }, 248 | { 249 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 250 | "line": 52, 251 | "symbol": "AlertTone.newsflash", 252 | "symbol_kind": "source.lang.swift.decl.enumelement", 253 | "warning": "undocumented" 254 | }, 255 | { 256 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 257 | "line": 53, 258 | "symbol": "AlertTone.noir", 259 | "symbol_kind": "source.lang.swift.decl.enumelement", 260 | "warning": "undocumented" 261 | }, 262 | { 263 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 264 | "line": 54, 265 | "symbol": "AlertTone.sherwoodforest", 266 | "symbol_kind": "source.lang.swift.decl.enumelement", 267 | "warning": "undocumented" 268 | }, 269 | { 270 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 271 | "line": 55, 272 | "symbol": "AlertTone.spell", 273 | "symbol_kind": "source.lang.swift.decl.enumelement", 274 | "warning": "undocumented" 275 | }, 276 | { 277 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 278 | "line": 56, 279 | "symbol": "AlertTone.suspence", 280 | "symbol_kind": "source.lang.swift.decl.enumelement", 281 | "warning": "undocumented" 282 | }, 283 | { 284 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 285 | "line": 57, 286 | "symbol": "AlertTone.swish", 287 | "symbol_kind": "source.lang.swift.decl.enumelement", 288 | "warning": "undocumented" 289 | }, 290 | { 291 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 292 | "line": 58, 293 | "symbol": "AlertTone.swoosh", 294 | "symbol_kind": "source.lang.swift.decl.enumelement", 295 | "warning": "undocumented" 296 | }, 297 | { 298 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 299 | "line": 59, 300 | "symbol": "AlertTone.telegraph", 301 | "symbol_kind": "source.lang.swift.decl.enumelement", 302 | "warning": "undocumented" 303 | }, 304 | { 305 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 306 | "line": 60, 307 | "symbol": "AlertTone.tiptoes", 308 | "symbol_kind": "source.lang.swift.decl.enumelement", 309 | "warning": "undocumented" 310 | }, 311 | { 312 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 313 | "line": 61, 314 | "symbol": "AlertTone.tritone", 315 | "symbol_kind": "source.lang.swift.decl.enumelement", 316 | "warning": "undocumented" 317 | }, 318 | { 319 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 320 | "line": 62, 321 | "symbol": "AlertTone.tweet", 322 | "symbol_kind": "source.lang.swift.decl.enumelement", 323 | "warning": "undocumented" 324 | }, 325 | { 326 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 327 | "line": 63, 328 | "symbol": "AlertTone.typewriters", 329 | "symbol_kind": "source.lang.swift.decl.enumelement", 330 | "warning": "undocumented" 331 | }, 332 | { 333 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 334 | "line": 64, 335 | "symbol": "AlertTone.update", 336 | "symbol_kind": "source.lang.swift.decl.enumelement", 337 | "warning": "undocumented" 338 | }, 339 | { 340 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 341 | "line": 68, 342 | "symbol": "AlertTone.play()", 343 | "symbol_kind": "source.lang.swift.decl.function.method.instance", 344 | "warning": "undocumented" 345 | }, 346 | { 347 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 348 | "line": 73, 349 | "symbol": "KeyPress", 350 | "symbol_kind": "source.lang.swift.decl.enum", 351 | "warning": "undocumented" 352 | }, 353 | { 354 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 355 | "line": 74, 356 | "symbol": "KeyPress.tap", 357 | "symbol_kind": "source.lang.swift.decl.enumelement", 358 | "warning": "undocumented" 359 | }, 360 | { 361 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 362 | "line": 78, 363 | "symbol": "KeyPress.play()", 364 | "symbol_kind": "source.lang.swift.decl.function.method.instance", 365 | "warning": "undocumented" 366 | }, 367 | { 368 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 369 | "line": 83, 370 | "symbol": "HapticFeedback", 371 | "symbol_kind": "source.lang.swift.decl.enum", 372 | "warning": "undocumented" 373 | }, 374 | { 375 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 376 | "line": 84, 377 | "symbol": "HapticFeedback.impact", 378 | "symbol_kind": "source.lang.swift.decl.enumelement", 379 | "warning": "undocumented" 380 | }, 381 | { 382 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 383 | "line": 85, 384 | "symbol": "HapticFeedback.notification", 385 | "symbol_kind": "source.lang.swift.decl.enumelement", 386 | "warning": "undocumented" 387 | }, 388 | { 389 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 390 | "line": 86, 391 | "symbol": "HapticFeedback.selection", 392 | "symbol_kind": "source.lang.swift.decl.enumelement", 393 | "warning": "undocumented" 394 | }, 395 | { 396 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 397 | "line": 90, 398 | "symbol": "HapticFeedback.play()", 399 | "symbol_kind": "source.lang.swift.decl.function.method.instance", 400 | "warning": "undocumented" 401 | }, 402 | { 403 | "file": "/Users/home/Documents/Peep/Sources/Peep.swift", 404 | "line": 96, 405 | "symbol": "URL.play()", 406 | "symbol_kind": "source.lang.swift.decl.function.method.instance", 407 | "warning": "undocumented" 408 | } 409 | ], 410 | "source_directory": "/Users/home/Documents/Peep" 411 | } --------------------------------------------------------------------------------