{"action":"created","comment":{"url":"https://api.github.com/repos/audiokit/AudioKit/pulls/comments/114397054","pull_request_review_id":35859630,"id":114397054,"diff_hunk":"@@ -27,143 +27,195 @@ extension AKTuningTable {\n         16 / 9,\n         15 / 8,\n         243 / 128]\n-\n+    \n     fileprivate func helper(_ input: [Int]) -> [Frequency] {\n         assert(input.count < AKTuningTable.persianNorthIndianMasterSet.count - 1, \"internal error: index out of bounds\")\n         let retVal: [Frequency] = input.map({(number: Int) -> Frequency in\n             return Frequency(AKTuningTable.persianNorthIndianMasterSet[number])\n         })\n         return retVal\n     }\n-\n-    public func presetPersian17NorthIndian00_17() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian00_17() -> Int {\n         let h = helper([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian01Kalyan() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian01Kalyan() -> Int {\n         let h = helper([0, 3, 5, 8, 10, 12, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian02Bilawal() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian02Bilawal() -> Int {\n         let h = helper([0, 3, 5, 7, 10, 13, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian03Khamaj() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian03Khamaj() -> Int {\n         let h = helper([0, 3, 5, 7, 10, 12, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian04KafiOld() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian04KafiOld() -> Int {\n         let h = helper([0, 2, 4, 7, 10, 12, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian05Kafi() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian05Kafi() -> Int {\n         let h = helper([0, 3, 4, 7, 10, 13, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian06Asawari() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian06Asawari() -> Int {\n         let h = helper([0, 3, 4, 7, 10, 11, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian07Bhairavi() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian07Bhairavi() -> Int {\n         let h = helper([0, 1, 4, 7, 10, 11, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian08Marwa() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian08Marwa() -> Int {\n         let h = helper([0, 1, 5, 8, 10, 12, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian09Purvi() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian09Purvi() -> Int {\n         let h = helper([0, 1, 5, 8, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian10Lalit2() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian10Lalit2() -> Int {\n         let h = helper([0, 1, 5, 7, 8, 12, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian11Todi() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian11Todi() -> Int {\n         let h = helper([0, 1, 4, 8, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian12Lalit() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian12Lalit() -> Int {\n         let h = helper([0, 1, 5, 7, 8, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian13NoName() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian13NoName() -> Int {\n         let h = helper([0, 1, 4, 8, 10, 11, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian14AnandBhairav() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian14AnandBhairav() -> Int {\n         let h = helper([0, 1, 5, 7, 10, 12, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian15Bhairav() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian15Bhairav() -> Int {\n         let h = helper([0, 1, 5, 7, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian16JogiyaTodi() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian16JogiyaTodi() -> Int {\n         let h = helper([0, 1, 4, 7, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian17Madhubanti() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian17Madhubanti() -> Int {\n         let h = helper([0, 3, 4, 8, 10, 12, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian18NatBhairav() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian18NatBhairav() -> Int {\n         let h = helper([0, 3, 5, 7, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian19AhirBhairav() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian19AhirBhairav() -> Int {\n         let h = helper([0, 1, 5, 7, 10, 12, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian20ChandraKanada() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian20ChandraKanada() -> Int {\n         let h = helper([0, 3, 4, 7, 10, 11, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian21BasantMukhari() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian21BasantMukhari() -> Int {\n         let h = helper([0, 1, 5, 7, 10, 11, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian22Champakali() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian22Champakali() -> Int {\n         let h = helper([0, 3, 6, 8, 10, 13, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian23Patdeep() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian23Patdeep() -> Int {\n         let h = helper([0, 3, 4, 7, 10, 13, 15])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian24MohanKauns() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian24MohanKauns() -> Int {\n         let h = helper([0, 3, 5, 7, 10, 11, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n-    public func presetPersian17NorthIndian25Parameswari() {\n+    \n+    // From Erv Wilson\n+    public func presetPersian17NorthIndian25Parameswari() -> Int {\n         let h = helper([0, 1, 4, 7, 10, 12, 14])\n         tuningTable(fromFrequencies: h)\n+        return h.count\n     }\n-\n+    ","path":"AudioKit/Common/Internals/Microtonality/AKTuningTable+NorthIndianRaga.swift","position":257,"original_position":257,"commit_id":"95ad945193e5031c2b0ff68c78b7dff9548905f8","original_commit_id":"95ad945193e5031c2b0ff68c78b7dff9548905f8","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars3.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Trailing Whitespace Violation: Lines should not have trailing whitespace. (trailing_whitespace)","created_at":"2017-05-02T18:56:31Z","updated_at":"2017-05-02T18:56:32Z","html_url":"https://github.com/audiokit/AudioKit/pull/873#discussion_r114397054","pull_request_url":"https://api.github.com/repos/audiokit/AudioKit/pulls/873","_links":{"self":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/comments/114397054"},"html":{"href":"https://github.com/audiokit/AudioKit/pull/873#discussion_r114397054"},"pull_request":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/873"}}},"pull_request":{"url":"https://api.github.com/repos/audiokit/AudioKit/pulls/873","id":118622184,"html_url":"https://github.com/audiokit/AudioKit/pull/873","diff_url":"https://github.com/audiokit/AudioKit/pull/873.diff","patch_url":"https://github.com/audiokit/AudioKit/pull/873.patch","issue_url":"https://api.github.com/repos/audiokit/AudioKit/issues/873","number":873,"state":"open","locked":false,"title":"Finessing Microtonality","user":{"login":"marcussatellite","id":16432863,"avatar_url":"https://avatars3.githubusercontent.com/u/16432863?v=3","gravatar_id":"","url":"https://api.github.com/users/marcussatellite","html_url":"https://github.com/marcussatellite","followers_url":"https://api.github.com/users/marcussatellite/followers","following_url":"https://api.github.com/users/marcussatellite/following{/other_user}","gists_url":"https://api.github.com/users/marcussatellite/gists{/gist_id}","starred_url":"https://api.github.com/users/marcussatellite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcussatellite/subscriptions","organizations_url":"https://api.github.com/users/marcussatellite/orgs","repos_url":"https://api.github.com/users/marcussatellite/repos","events_url":"https://api.github.com/users/marcussatellite/events{/privacy}","received_events_url":"https://api.github.com/users/marcussatellite/received_events","type":"User","site_admin":false},"body":"Adding documentation.\r\nFixed bug in octave reduction.\r\nSome tuning table methods now return number of notes per octave.\r\n\r\n\r\nUse following playground to sample new methods:\r\n\r\n\r\n\r\n//import AudioKitPlaygrounds\r\nimport AudioKit\r\n\r\nlet playRate = 4.0  // try 16 for fun\r\n\r\n// OSC\r\nlet osc = AKOscillatorBank.init(waveform: AKTable(.square))\r\nosc.attackDuration = 0.001\r\nosc.decayDuration = 0.25\r\nosc.sustainLevel = 0.238186\r\nosc.releaseDuration = 0.25\r\nlet filter = AKKorgLowPassFilter(osc)\r\nfilter.cutoffFrequency = 5500\r\nlet generatorBooster = AKBooster(filter)\r\ngeneratorBooster.gain = 0.618\r\n\r\n// DELAY\r\nlet delay = AKDelay(generatorBooster)\r\ndelay.time = 1.0 / playRate\r\ndelay.feedback = 0.618\r\ndelay.lowPassCutoff = 12048\r\ndelay.dryWetMix = 0.75\r\nlet delayBooster = AKBooster(delay)\r\ndelayBooster.gain = 1.5508\r\n\r\n// REVERB\r\nlet reverb = AKCostelloReverb(delayBooster)\r\nreverb.feedback = 0.75881618\r\nreverb.cutoffFrequency = 2222+1000\r\nlet reverbBooster = AKBooster(reverb)\r\nreverbBooster.gain = 0.7467\r\n\r\n// MIX\r\nlet mixer = AKMixer(generatorBooster, reverbBooster)\r\n\r\n// selects a tuning\r\nfunc selectTuning(_ index:Int) {\r\n    let numTunings = 21\r\n    switch index % numTunings {\r\n    case 0:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian17Madhubanti()\r\n    case 1:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian18NatBhairav()\r\n    case 2:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian19AhirBhairav()\r\n    case 3:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian20ChandraKanada()\r\n    case 4:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian21BasantMukhari()\r\n    case 5:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian22Champakali()\r\n    case 6:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian23Patdeep()\r\n    case 7:\r\n        AKPolyphonicNode.tuningTable.presetPersian17NorthIndian24MohanKauns()\r\n    case 8:\r\n        AKPolyphonicNode.tuningTable.momentOfSymmetry(generator: 0.238186, level: 6)\r\n    case 9:\r\n        AKPolyphonicNode.tuningTable.momentOfSymmetry(generator: 0.264100, level: 6)\r\n    case 10:\r\n        AKPolyphonicNode.tuningTable.tetrany_major(1, 5, 9, 15)\r\n    case 11:\r\n        AKPolyphonicNode.tuningTable.hexany(1, 5, 9, 15)\r\n    case 12:\r\n        AKPolyphonicNode.tuningTable.tetrany_minor(1, 5, 9, 15)\r\n    case 13:\r\n        AKPolyphonicNode.tuningTable.hexany(3, 4.051, 7.051, 10.051)\r\n    case 14:\r\n        AKPolyphonicNode.tuningTable.momentOfSymmetry(generator: 0.292626, level: 5, murchana: 3)\r\n    case 15:\r\n        AKPolyphonicNode.tuningTable.momentOfSymmetry(generator: 0.583333, level: 5)\r\n    case 16:\r\n        AKPolyphonicNode.tuningTable.momentOfSymmetry(generator: 0.583333, level: 5, murchana: 2)\r\n    case 17:\r\n        AKPolyphonicNode.tuningTable.equalTemperament(notesPerOctave: 5)\r\n    case 18:\r\n        AKPolyphonicNode.tuningTable.presetHighlandBagPipes()\r\n    case 19:\r\n        AKPolyphonicNode.tuningTable.presetDiaphonicTetrachord()\r\n    case 20:\r\n        AKPolyphonicNode.tuningTable.presetRecurrenceRelation01()\r\n    default:\r\n        print(\"error\")\r\n    }\r\n}\r\n\r\n// tuning and arpeggio parameters\r\nvar tuningCounter:Int = 17\r\nvar performanceCounter: Int = 2\r\nlet npo = 8\r\nvar transpose = MIDINoteNumber(0)\r\n\r\n// default tuning\r\nselectTuning(tuningCounter)\r\n\r\n// periodic function for selecting tuning\r\nlet tuning = AKPeriodicFunction(frequency: playRate) {\r\n    if performanceCounter % (4 * npo) == 0 {\r\n        selectTuning(tuningCounter)\r\n        tuningCounter += 1\r\n    }\r\n}\r\n\r\n// periodic function for arpeggio\r\nlet performance = AKPeriodicFunction(frequency: playRate) {\r\n    func nnCalc(_ counter: Int) -> MIDINoteNumber {\r\n        var note = counter % (2 * npo)\r\n        if note > npo {\r\n            note = (2 * npo) - note\r\n        }\r\n        let rootNN = 60\r\n        let nn = MIDINoteNumber(note + rootNN) + transpose\r\n        return nn\r\n    }\r\n    \r\n    // the past\r\n    let pastNN = nnCalc(performanceCounter-2)\r\n    osc.stop(noteNumber: pastNN)\r\n    \r\n    // the present\r\n    let presentNN = nnCalc(performanceCounter)\r\n    let frequency = AKPolyphonicNode.tuningTable.frequency(forNoteNumber:presentNN)\r\n    osc.play(noteNumber: presentNN, velocity: 127, frequency: frequency)\r\n    \r\n    // print(\"\\(pastNN) \\(presentNN) \\(frequency) \\(performanceCounter)\")\r\n    performanceCounter += 1\r\n}\r\n\r\n\r\n// Start\r\nAudioKit.output = mixer\r\nAudioKit.start(withPeriodicFunctions: performance, tuning)\r\ntuning.start()\r\nperformance.start()\r\n\r\nimport PlaygroundSupport\r\nPlaygroundPage.current.needsIndefiniteExecution = true\r\n","created_at":"2017-05-02T18:56:18Z","updated_at":"2017-05-02T18:56:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e1d0fa09fcac18b30080d354ae0ff639d515b4e2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/audiokit/AudioKit/pulls/873/commits","review_comments_url":"https://api.github.com/repos/audiokit/AudioKit/pulls/873/comments","review_comment_url":"https://api.github.com/repos/audiokit/AudioKit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/audiokit/AudioKit/issues/873/comments","statuses_url":"https://api.github.com/repos/audiokit/AudioKit/statuses/95ad945193e5031c2b0ff68c78b7dff9548905f8","head":{"label":"marcussatellite:develop","ref":"develop","sha":"95ad945193e5031c2b0ff68c78b7dff9548905f8","user":{"login":"marcussatellite","id":16432863,"avatar_url":"https://avatars3.githubusercontent.com/u/16432863?v=3","gravatar_id":"","url":"https://api.github.com/users/marcussatellite","html_url":"https://github.com/marcussatellite","followers_url":"https://api.github.com/users/marcussatellite/followers","following_url":"https://api.github.com/users/marcussatellite/following{/other_user}","gists_url":"https://api.github.com/users/marcussatellite/gists{/gist_id}","starred_url":"https://api.github.com/users/marcussatellite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcussatellite/subscriptions","organizations_url":"https://api.github.com/users/marcussatellite/orgs","repos_url":"https://api.github.com/users/marcussatellite/repos","events_url":"https://api.github.com/users/marcussatellite/events{/privacy}","received_events_url":"https://api.github.com/users/marcussatellite/received_events","type":"User","site_admin":false},"repo":{"id":87266076,"name":"AudioKit","full_name":"marcussatellite/AudioKit","owner":{"login":"marcussatellite","id":16432863,"avatar_url":"https://avatars3.githubusercontent.com/u/16432863?v=3","gravatar_id":"","url":"https://api.github.com/users/marcussatellite","html_url":"https://github.com/marcussatellite","followers_url":"https://api.github.com/users/marcussatellite/followers","following_url":"https://api.github.com/users/marcussatellite/following{/other_user}","gists_url":"https://api.github.com/users/marcussatellite/gists{/gist_id}","starred_url":"https://api.github.com/users/marcussatellite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcussatellite/subscriptions","organizations_url":"https://api.github.com/users/marcussatellite/orgs","repos_url":"https://api.github.com/users/marcussatellite/repos","events_url":"https://api.github.com/users/marcussatellite/events{/privacy}","received_events_url":"https://api.github.com/users/marcussatellite/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/marcussatellite/AudioKit","description":"Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS","fork":true,"url":"https://api.github.com/repos/marcussatellite/AudioKit","forks_url":"https://api.github.com/repos/marcussatellite/AudioKit/forks","keys_url":"https://api.github.com/repos/marcussatellite/AudioKit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/marcussatellite/AudioKit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/marcussatellite/AudioKit/teams","hooks_url":"https://api.github.com/repos/marcussatellite/AudioKit/hooks","issue_events_url":"https://api.github.com/repos/marcussatellite/AudioKit/issues/events{/number}","events_url":"https://api.github.com/repos/marcussatellite/AudioKit/events","assignees_url":"https://api.github.com/repos/marcussatellite/AudioKit/assignees{/user}","branches_url":"https://api.github.com/repos/marcussatellite/AudioKit/branches{/branch}","tags_url":"https://api.github.com/repos/marcussatellite/AudioKit/tags","blobs_url":"https://api.github.com/repos/marcussatellite/AudioKit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/marcussatellite/AudioKit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/marcussatellite/AudioKit/git/refs{/sha}","trees_url":"https://api.github.com/repos/marcussatellite/AudioKit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/marcussatellite/AudioKit/statuses/{sha}","languages_url":"https://api.github.com/repos/marcussatellite/AudioKit/languages","stargazers_url":"https://api.github.com/repos/marcussatellite/AudioKit/stargazers","contributors_url":"https://api.github.com/repos/marcussatellite/AudioKit/contributors","subscribers_url":"https://api.github.com/repos/marcussatellite/AudioKit/subscribers","subscription_url":"https://api.github.com/repos/marcussatellite/AudioKit/subscription","commits_url":"https://api.github.com/repos/marcussatellite/AudioKit/commits{/sha}","git_commits_url":"https://api.github.com/repos/marcussatellite/AudioKit/git/commits{/sha}","comments_url":"https://api.github.com/repos/marcussatellite/AudioKit/comments{/number}","issue_comment_url":"https://api.github.com/repos/marcussatellite/AudioKit/issues/comments{/number}","contents_url":"https://api.github.com/repos/marcussatellite/AudioKit/contents/{+path}","compare_url":"https://api.github.com/repos/marcussatellite/AudioKit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/marcussatellite/AudioKit/merges","archive_url":"https://api.github.com/repos/marcussatellite/AudioKit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/marcussatellite/AudioKit/downloads","issues_url":"https://api.github.com/repos/marcussatellite/AudioKit/issues{/number}","pulls_url":"https://api.github.com/repos/marcussatellite/AudioKit/pulls{/number}","milestones_url":"https://api.github.com/repos/marcussatellite/AudioKit/milestones{/number}","notifications_url":"https://api.github.com/repos/marcussatellite/AudioKit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/marcussatellite/AudioKit/labels{/name}","releases_url":"https://api.github.com/repos/marcussatellite/AudioKit/releases{/id}","deployments_url":"https://api.github.com/repos/marcussatellite/AudioKit/deployments","created_at":"2017-04-05T04:32:13Z","updated_at":"2017-04-05T04:32:21Z","pushed_at":"2017-05-02T18:51:32Z","git_url":"git://github.com/marcussatellite/AudioKit.git","ssh_url":"git@github.com:marcussatellite/AudioKit.git","clone_url":"https://github.com/marcussatellite/AudioKit.git","svn_url":"https://github.com/marcussatellite/AudioKit","homepage":"http://audiokit.io/","size":186089,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"audiokit:develop","ref":"develop","sha":"f55a1894a68696b1808be495fc0f78abd83bfcac","user":{"login":"audiokit","id":6593633,"avatar_url":"https://avatars3.githubusercontent.com/u/6593633?v=3","gravatar_id":"","url":"https://api.github.com/users/audiokit","html_url":"https://github.com/audiokit","followers_url":"https://api.github.com/users/audiokit/followers","following_url":"https://api.github.com/users/audiokit/following{/other_user}","gists_url":"https://api.github.com/users/audiokit/gists{/gist_id}","starred_url":"https://api.github.com/users/audiokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/audiokit/subscriptions","organizations_url":"https://api.github.com/users/audiokit/orgs","repos_url":"https://api.github.com/users/audiokit/repos","events_url":"https://api.github.com/users/audiokit/events{/privacy}","received_events_url":"https://api.github.com/users/audiokit/received_events","type":"Organization","site_admin":false},"repo":{"id":16096528,"name":"AudioKit","full_name":"audiokit/AudioKit","owner":{"login":"audiokit","id":6593633,"avatar_url":"https://avatars3.githubusercontent.com/u/6593633?v=3","gravatar_id":"","url":"https://api.github.com/users/audiokit","html_url":"https://github.com/audiokit","followers_url":"https://api.github.com/users/audiokit/followers","following_url":"https://api.github.com/users/audiokit/following{/other_user}","gists_url":"https://api.github.com/users/audiokit/gists{/gist_id}","starred_url":"https://api.github.com/users/audiokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/audiokit/subscriptions","organizations_url":"https://api.github.com/users/audiokit/orgs","repos_url":"https://api.github.com/users/audiokit/repos","events_url":"https://api.github.com/users/audiokit/events{/privacy}","received_events_url":"https://api.github.com/users/audiokit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/audiokit/AudioKit","description":"Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS","fork":false,"url":"https://api.github.com/repos/audiokit/AudioKit","forks_url":"https://api.github.com/repos/audiokit/AudioKit/forks","keys_url":"https://api.github.com/repos/audiokit/AudioKit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/audiokit/AudioKit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/audiokit/AudioKit/teams","hooks_url":"https://api.github.com/repos/audiokit/AudioKit/hooks","issue_events_url":"https://api.github.com/repos/audiokit/AudioKit/issues/events{/number}","events_url":"https://api.github.com/repos/audiokit/AudioKit/events","assignees_url":"https://api.github.com/repos/audiokit/AudioKit/assignees{/user}","branches_url":"https://api.github.com/repos/audiokit/AudioKit/branches{/branch}","tags_url":"https://api.github.com/repos/audiokit/AudioKit/tags","blobs_url":"https://api.github.com/repos/audiokit/AudioKit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/audiokit/AudioKit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/audiokit/AudioKit/git/refs{/sha}","trees_url":"https://api.github.com/repos/audiokit/AudioKit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/audiokit/AudioKit/statuses/{sha}","languages_url":"https://api.github.com/repos/audiokit/AudioKit/languages","stargazers_url":"https://api.github.com/repos/audiokit/AudioKit/stargazers","contributors_url":"https://api.github.com/repos/audiokit/AudioKit/contributors","subscribers_url":"https://api.github.com/repos/audiokit/AudioKit/subscribers","subscription_url":"https://api.github.com/repos/audiokit/AudioKit/subscription","commits_url":"https://api.github.com/repos/audiokit/AudioKit/commits{/sha}","git_commits_url":"https://api.github.com/repos/audiokit/AudioKit/git/commits{/sha}","comments_url":"https://api.github.com/repos/audiokit/AudioKit/comments{/number}","issue_comment_url":"https://api.github.com/repos/audiokit/AudioKit/issues/comments{/number}","contents_url":"https://api.github.com/repos/audiokit/AudioKit/contents/{+path}","compare_url":"https://api.github.com/repos/audiokit/AudioKit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/audiokit/AudioKit/merges","archive_url":"https://api.github.com/repos/audiokit/AudioKit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/audiokit/AudioKit/downloads","issues_url":"https://api.github.com/repos/audiokit/AudioKit/issues{/number}","pulls_url":"https://api.github.com/repos/audiokit/AudioKit/pulls{/number}","milestones_url":"https://api.github.com/repos/audiokit/AudioKit/milestones{/number}","notifications_url":"https://api.github.com/repos/audiokit/AudioKit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/audiokit/AudioKit/labels{/name}","releases_url":"https://api.github.com/repos/audiokit/AudioKit/releases{/id}","deployments_url":"https://api.github.com/repos/audiokit/AudioKit/deployments","created_at":"2014-01-21T08:16:07Z","updated_at":"2017-05-02T16:10:21Z","pushed_at":"2017-05-02T18:56:19Z","git_url":"git://github.com/audiokit/AudioKit.git","ssh_url":"git@github.com:audiokit/AudioKit.git","clone_url":"https://github.com/audiokit/AudioKit.git","svn_url":"https://github.com/audiokit/AudioKit","homepage":"http://audiokit.io/","size":186190,"stargazers_count":3449,"watchers_count":3449,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":530,"mirror_url":null,"open_issues_count":3,"forks":530,"open_issues":3,"watchers":3449,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/873"},"html":{"href":"https://github.com/audiokit/AudioKit/pull/873"},"issue":{"href":"https://api.github.com/repos/audiokit/AudioKit/issues/873"},"comments":{"href":"https://api.github.com/repos/audiokit/AudioKit/issues/873/comments"},"review_comments":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/873/comments"},"review_comment":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/audiokit/AudioKit/pulls/873/commits"},"statuses":{"href":"https://api.github.com/repos/audiokit/AudioKit/statuses/95ad945193e5031c2b0ff68c78b7dff9548905f8"}}}}
{"actor":{"display_login":"houndci-bot"}}