├── .gitignore ├── Chapter 1 └── HelloAVF │ ├── HelloAVF.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── HelloAVF │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-40.png │ │ ├── Icon-40@2x.png │ │ ├── Icon-40@3x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ └── Icon1024.png │ ├── LaunchImage.launchimage │ │ └── Contents.json │ ├── bubble_left.imageset │ │ ├── Contents.json │ │ ├── bubble_left.png │ │ └── bubble_left@2x.png │ └── bubble_right.imageset │ │ ├── Contents.json │ │ ├── bubble_right.png │ │ └── bubble_right@2x.png │ ├── Base.lproj │ └── Main.storyboard │ ├── BubbleCell.swift │ ├── Info.plist │ ├── SpeechController.swift │ └── ViewController.swift ├── Chapter 2 └── AudioLooper │ ├── AudioLooper.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── AudioLooper │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-40.png │ │ ├── Icon-40@2x.png │ │ ├── Icon-40@3x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ └── Icon1024.png │ ├── bass.imageset │ │ ├── Contents.json │ │ ├── bass.png │ │ └── bass@2x.png │ ├── drum.imageset │ │ ├── Contents.json │ │ ├── drum.png │ │ └── drum@2x.png │ └── guitar.imageset │ │ ├── Contents.json │ │ ├── guitar.png │ │ └── guitar@2x.png │ ├── Base.lproj │ └── Main.storyboard │ ├── Info.plist │ ├── Loops │ ├── bass.caf │ ├── drums.caf │ └── guitar.caf │ ├── MainViewController.swift │ ├── PlayerController.swift │ └── Views │ ├── ControlKnob.swift │ ├── IndicatorLight.swift │ ├── PlayButton.swift │ └── UIColorExtensions.swift ├── Chapter 8 └── THWaveformView │ ├── THWaveformView.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── THWaveformView │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-40.png │ │ ├── Icon-40@2x.png │ │ ├── Icon-40@3x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ └── Icon1024.png │ └── Contents.json │ ├── Base.lproj │ └── Main.storyboard │ ├── Info.plist │ ├── SampleDataFilter.swift │ ├── SampleDataProvider.swift │ ├── UIColorExtensions.swift │ ├── ViewController.swift │ ├── WaveformView.swift │ ├── beat.aiff │ └── keys.mp3 └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/.gitignore -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/AppDelegate.swift -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/LaunchImage.launchimage/Contents.json -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/Contents.json -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/bubble_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/bubble_left.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/bubble_left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_left.imageset/bubble_left@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/Contents.json -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/bubble_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/bubble_right.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/bubble_right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Assets.xcassets/bubble_right.imageset/bubble_right@2x.png -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/BubbleCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/BubbleCell.swift -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/Info.plist -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/SpeechController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/SpeechController.swift -------------------------------------------------------------------------------- /Chapter 1/HelloAVF/HelloAVF/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 1/HelloAVF/HelloAVF/ViewController.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/AppDelegate.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/Contents.json -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/bass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/bass.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/bass@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/bass.imageset/bass@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/Contents.json -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/drum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/drum.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/drum@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/drum.imageset/drum@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/Contents.json -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/guitar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/guitar.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/guitar@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Assets.xcassets/guitar.imageset/guitar@2x.png -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Info.plist -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Loops/bass.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Loops/bass.caf -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Loops/drums.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Loops/drums.caf -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Loops/guitar.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Loops/guitar.caf -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/MainViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/MainViewController.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/PlayerController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/PlayerController.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Views/ControlKnob.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Views/ControlKnob.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Views/IndicatorLight.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Views/IndicatorLight.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Views/PlayButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Views/PlayButton.swift -------------------------------------------------------------------------------- /Chapter 2/AudioLooper/AudioLooper/Views/UIColorExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 2/AudioLooper/AudioLooper/Views/UIColorExtensions.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/AppDelegate.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/AppIcon.appiconset/Icon1024.png -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/Info.plist -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/SampleDataFilter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/SampleDataFilter.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/SampleDataProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/SampleDataProvider.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/UIColorExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/UIColorExtensions.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/ViewController.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/WaveformView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/WaveformView.swift -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/beat.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/beat.aiff -------------------------------------------------------------------------------- /Chapter 8/THWaveformView/THWaveformView/keys.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/Chapter 8/THWaveformView/THWaveformView/keys.mp3 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tapharmonic/Learning-AV-Foundation-Swift/HEAD/README.md --------------------------------------------------------------------------------