project.pbxproj 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 77;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. 013C7A2CED00B8F4023B409D /* KeychainMigrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5C8371A077D34C5EA5EB922 /* KeychainMigrationTests.swift */; };
  10. 0475F2DDF3E2B282DDD32730 /* ChadMusicTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB9760CCC20660A8525CE39 /* ChadMusicTests.swift */; };
  11. 05250104065AC9F86AED7640 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF15B7B75D512A726CA44646 /* AppState.swift */; };
  12. 062F31FB5DC04601FA178F29 /* SyncWatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5EB33906D8B83B47907EB73 /* SyncWatcher.swift */; };
  13. 0B7C4BD3AC54C81F59D95769 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D496B90B255DE7A6A04105 /* SettingsView.swift */; };
  14. 1085C4BC3C8EFE23DD89A7F9 /* Track.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F79CCE61D166936929A38 /* Track.swift */; };
  15. 14287785755BAB2B7AC1FA8B /* SlskdModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 350E8D2B44F2BBFCD0364992 /* SlskdModels.swift */; };
  16. 1528E4838F567A508BE4A11D /* PlaylistView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12C20156249966253CB0BC01 /* PlaylistView.swift */; };
  17. 155361528270AA0A5BC10857 /* DAWProjectExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0748BB9CDD4597683EDBECF6 /* DAWProjectExporter.swift */; };
  18. 19D734917A3D1D41990795E6 /* IntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9F57CB69E8B6679DC46ED57 /* IntegrationTests.swift */; };
  19. 1F5879AF2B534B9D146D4AEC /* M3UExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045D280E779E9AC3182F56BA /* M3UExporter.swift */; };
  20. 1FE6DEA438C4E93ABEB60BA8 /* UnifiedSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C9757402BC873DA3FE3612 /* UnifiedSearchCoordinator.swift */; };
  21. 2018533194941BADC392CCD0 /* GroupTemplateEditorSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A61463B001623599676BEB7 /* GroupTemplateEditorSheet.swift */; };
  22. 2081DF7F9F99DB075FE5302D /* DownloadProgressTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4033D40A0C47C3D8A616D873 /* DownloadProgressTests.swift */; };
  23. 23D727E95A84A3405E45EB85 /* UploadService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BAF527C3BCDBD3D04BFA787 /* UploadService.swift */; };
  24. 262570671DF03442758075E0 /* AppIconConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0775318FF25759713C3063D /* AppIconConfig.swift */; };
  25. 2897F9B97E53C752BC8291EC /* TestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F35D9EB91C21D126300620 /* TestHelpers.swift */; };
  26. 289A2312A2E8CAC34308F7FB /* MixBoardApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 936532443A34B992B646634D /* MixBoardApp.swift */; };
  27. 31450D9ABC6BD3AD4BC160E2 /* CloudBrowserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962F30B9B736FF54E9E787D3 /* CloudBrowserView.swift */; };
  28. 368AED06320D475968D9C2D8 /* SlskdTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE02C134A0F546021D90B2E /* SlskdTests.swift */; };
  29. 37471C3642A075ED661A2DB9 /* PlayerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8170FF8C225BE2DC9F0040 /* PlayerViewModel.swift */; };
  30. 3777ADCCD94A17218C335EE2 /* OGGDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEA3BE9F559194BD6A8DBFC1 /* OGGDecoder.swift */; };
  31. 3B76CF2335562FD54CAD71BE /* AuditionExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E447D0302B2F806372CD26 /* AuditionExporter.swift */; };
  32. 3F3163BC5FFAA0EC64603580 /* ServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F83BB564B9EDF998724C368F /* ServiceTests.swift */; };
  33. 42D7ED2A29566B252DADFC2D /* ExporterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D66878FD3A9BC9745050D13 /* ExporterTests.swift */; };
  34. 45C89316C5AB16272EC76D9F /* TrackRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971D04012F71444725BB1846 /* TrackRow.swift */; };
  35. 461A7875FBC20ADCE231103E /* AudioStitcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00A953E02F7201CEC5A42DBE /* AudioStitcher.swift */; };
  36. 48D625A899FB4CD97A1CAC48 /* GroupTemplateResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01A4B3C692C3BA27C29C084B /* GroupTemplateResolver.swift */; };
  37. 5604020B0302E9AC3B81CB90 /* ChadMusicCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46AA7D36F9C279C726D8DC8 /* ChadMusicCredentials.swift */; };
  38. 57994E3E18195FD31CBDC82B /* SidebarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10686F358CF00951BE31A568 /* SidebarView.swift */; };
  39. 58718BAD0FD35D0D999F7C43 /* LyricsParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24ADE9A538A9797BE2D7862B /* LyricsParser.swift */; };
  40. 5AA97C256D3B08ABF017DD0E /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DB6892183CB93C7DD0FD546 /* PlayerView.swift */; };
  41. 5DBAFF76FB86E768FF8324C4 /* AppTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3B309F0338E5A9412826E2 /* AppTheme.swift */; };
  42. 60B4E444C175C98B6F762762 /* WaveformGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ADC80456B47393CD4584C99 /* WaveformGenerator.swift */; };
  43. 60EAF28899D77932FF624D4D /* SidebarSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60DD8D66C431F8FACC440AB /* SidebarSection.swift */; };
  44. 625302B6373DEFBB19CDA5B3 /* SlskdAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC3FB0F3E03999E21E95E25 /* SlskdAPIClient.swift */; };
  45. 638D763E72DC3774160E414F /* ChadMusic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7536C7BBF54B0B5B718D370F /* ChadMusic.swift */; };
  46. 690AA870FCF9B4A26EED8725 /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = B95A4AD1717E86B37F7FD836 /* stb_vorbis.c */; };
  47. 691A0746845CBD34C766E634 /* PlaylistViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F39B366B5B7D28F1310EE4C4 /* PlaylistViewModel.swift */; };
  48. 6B9B61C578BF56C923C2B4E3 /* QueueView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB4D92D99DAB7F01E39A0C5 /* QueueView.swift */; };
  49. 6C71B39EA00C5E9579EF6C7C /* NowPlayingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C91BFDC4EF6125CE0A92C365 /* NowPlayingView.swift */; };
  50. 6CE1660EB2326325AD3BCDAA /* SlskdProcessManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC2492DF5B6EB59FBF9FF62D /* SlskdProcessManager.swift */; };
  51. 6E8E6342167F74728BB11860 /* DAWExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7043BDA9D01825F1EF0F92D2 /* DAWExporter.swift */; };
  52. 6F07724BA21094C476EB0660 /* QueueEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 650860D291BDC75B9B814C29 /* QueueEntry.swift */; };
  53. 735062052406557AD5EA269A /* MediaKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CB9510A25DFF0B3E7AA99E /* MediaKeyHandler.swift */; };
  54. 7E121C1DCB7F0E90E9257169 /* ProgressDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02703297C897DF62E82BCFD9 /* ProgressDownloader.swift */; };
  55. 7FD8DC64107B2249CD5BEF1E /* ModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CF5F229E82115FB2EBC61D6 /* ModelTests.swift */; };
  56. 80E91D917D54453D8760F183 /* UIRevampTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB109A7E510B91AA4BDE6B0 /* UIRevampTests.swift */; };
  57. 838BFA9D25D1D9FD7729FF8D /* SoulseekOrchestrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C91A932B3430E3B6C07A88E /* SoulseekOrchestrator.swift */; };
  58. 88BFFA594A1BB6BFF3D0AA82 /* StreamingPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 586499B8088E26103E29799F /* StreamingPlayer.swift */; };
  59. 8A96CC1E8CC532F3ADB6ECE7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D29A1F4EF5FB5ACA4CCA4BBF /* Assets.xcassets */; };
  60. 8CEE003726D0A7A94B0F2A62 /* LibraryManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B942F3DDAA7611C76AA6287B /* LibraryManager.swift */; };
  61. 95455BB3DD59E2F888258FE5 /* DownloadServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0848898ED1D633CA4A63D392 /* DownloadServiceTests.swift */; };
  62. 97CD156068E3A732B75A822D /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39DB5455D6BE460BC4F73953 /* ContentView.swift */; };
  63. 97DC2F7815AE935E67FCABB3 /* DownloadService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 858F24E4F4EB9955E3DCE30A /* DownloadService.swift */; };
  64. 9C5A7DDD55E5367DB6E2AE96 /* FileNameTemplateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39571508168CC254BEB95639 /* FileNameTemplateTests.swift */; };
  65. 9EAB929A4063EF9BCBCC1E05 /* FileNameTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B949F4466F0B81596C5C405 /* FileNameTemplate.swift */; };
  66. A662625A69F5811DE5B98011 /* UnifiedSearchResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7D0D080C52F79B6A9C8F7E8 /* UnifiedSearchResultsView.swift */; };
  67. A7A5B8BB3004AB1F33924352 /* PlaylistViewConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A94FB676F44A50F2145C19B5 /* PlaylistViewConfig.swift */; };
  68. ACC155B662850EAF1907BA50 /* DJBrowserStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C426D26E04CF15827AD8E8D /* DJBrowserStyle.swift */; };
  69. AD8102FED08EEBF9E7CD5AE4 /* CuePoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9063834E1B4AA86F958A1F6C /* CuePoint.swift */; };
  70. AFB70F19181547ABB1AFEE0A /* EDLExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72E397F6C553FA244F7EFD8 /* EDLExporter.swift */; };
  71. B071D5E1F39AA70316FA4FDF /* BPMDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83791DE60BF73B44B44CF598 /* BPMDetector.swift */; };
  72. B1168E099BF810B143F9CECD /* E2EWorkflowTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1CD85068EDFB342EF0A571 /* E2EWorkflowTests.swift */; };
  73. B19F5B2E4587252976BE904E /* SyncImporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3051FEE675462F2B77A356FC /* SyncImporter.swift */; };
  74. B2EAE0075293664E8E250DFF /* ManagedSlskdCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 548313799995EA4B17EE70B7 /* ManagedSlskdCredentials.swift */; };
  75. BA52D57A925349BFDA049016 /* PlaylistDownloadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46FC27EACD460EB3137577FA /* PlaylistDownloadButton.swift */; };
  76. BBDBF015E5A87A280717955F /* DJComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0942017A8C2411E4EC0EEF8 /* DJComponents.swift */; };
  77. BC4B737A991DACEEE6075B68 /* AlbumDownloadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0150B5D9D8819CC2CC9D7FD /* AlbumDownloadButton.swift */; };
  78. BCCEA4536EF1E4EDC85047B9 /* ArtworkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FB0A5037D57F0F5FED2E3E /* ArtworkView.swift */; };
  79. BD5FBA2A96BB2012FD2A31DF /* MixBoardUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43EB89D9BE52F78353EF5094 /* MixBoardUITests.swift */; };
  80. C5176BA733BF12E3469B0EAC /* Playlist.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7E85070877C451ADE587391 /* Playlist.swift */; };
  81. C6C8A67458FC5DCFD06A1C5D /* ChadMusicAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CD0921C8C90DA6D317E092 /* ChadMusicAPIClient.swift */; };
  82. C95509E70051622AE49B65E3 /* KeyboardShortcutConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8DDF2236DA6D1B1E0471E14 /* KeyboardShortcutConfig.swift */; };
  83. CC8BC49C6AF43733936E3A4C /* KeychainService.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDEBC9A0E0A3C3ED59388601 /* KeychainService.swift */; };
  84. CD58E38E196F93425131B213 /* WaveformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4024DF6E47B81EE988794DA3 /* WaveformView.swift */; };
  85. CDFAF9F75CAEFD3091DE95D9 /* AudioEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = F953CCDD5C91DE428195E31D /* AudioEngine.swift */; };
  86. CF9C4D6F45A3CA4228A8CBEA /* DownloadIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E30AA6107E4CCFDBA53EF0F /* DownloadIndicator.swift */; };
  87. D4E73FC462DF12A5FAAE8C76 /* DJPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 420FAF8F83FCEC85F98A5F3C /* DJPlayerView.swift */; };
  88. DD7452BB415E285D2D39A667 /* ExportSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 261573F9B9AABB23402AB3F2 /* ExportSheet.swift */; };
  89. DD8CAE7B23CD799AF8D4934F /* MetadataService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C186E4E5E5FE2F3C87A1B03C /* MetadataService.swift */; };
  90. E60123D4FFD92FBD9B3B4E69 /* PlaylistFolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CBC0258B1C5E76582465F5 /* PlaylistFolder.swift */; };
  91. EAC68B369B8957C0809C767A /* LRCLIBService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2330A5CD9FEB6CF1200D4E8A /* LRCLIBService.swift */; };
  92. EC0DD99AFFFDA7D25407E991 /* ArtworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB242ECEFF0FFF4427B42BC0 /* ArtworkService.swift */; };
  93. ED3B403C28CF291E3483823E /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC5615C432F50F99E53303D0 /* DownloadManager.swift */; };
  94. EE13D90C3C2ACF1348391C69 /* KeyDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0457B660537DC8CAD1B6120 /* KeyDetector.swift */; };
  95. F0FF4D62FCE23A447DDE628F /* PlaylistUploadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14C2D7260E0D82FD7D0BDA28 /* PlaylistUploadButton.swift */; };
  96. F2E4BE62D73171D8E7D63006 /* CueSheetExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C8A672BB52C77A8E83F3FFF /* CueSheetExporter.swift */; };
  97. F4E2BD8E6DA70E2325277FEF /* DownloadsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DAE1EDB557716061DEC42F0 /* DownloadsView.swift */; };
  98. F7058DDE85BB601CBB7C9BD9 /* GlobalSearchSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80C9BACD548FF942E79C82F /* GlobalSearchSheet.swift */; };
  99. /* End PBXBuildFile section */
  100. /* Begin PBXContainerItemProxy section */
  101. 25C442C870895C13C18E6E2D /* PBXContainerItemProxy */ = {
  102. isa = PBXContainerItemProxy;
  103. containerPortal = 1493F43231E452AC09121B22 /* Project object */;
  104. proxyType = 1;
  105. remoteGlobalIDString = 33EFC91F348AC0E1F8512ECA;
  106. remoteInfo = MixBoard;
  107. };
  108. 2CB67669C43B70ECDAB29454 /* PBXContainerItemProxy */ = {
  109. isa = PBXContainerItemProxy;
  110. containerPortal = 1493F43231E452AC09121B22 /* Project object */;
  111. proxyType = 1;
  112. remoteGlobalIDString = 33EFC91F348AC0E1F8512ECA;
  113. remoteInfo = MixBoard;
  114. };
  115. /* End PBXContainerItemProxy section */
  116. /* Begin PBXFileReference section */
  117. 00A953E02F7201CEC5A42DBE /* AudioStitcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioStitcher.swift; sourceTree = "<group>"; };
  118. 01A4B3C692C3BA27C29C084B /* GroupTemplateResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupTemplateResolver.swift; sourceTree = "<group>"; };
  119. 01D496B90B255DE7A6A04105 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
  120. 02703297C897DF62E82BCFD9 /* ProgressDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressDownloader.swift; sourceTree = "<group>"; };
  121. 045D280E779E9AC3182F56BA /* M3UExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = M3UExporter.swift; sourceTree = "<group>"; };
  122. 0748BB9CDD4597683EDBECF6 /* DAWProjectExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DAWProjectExporter.swift; sourceTree = "<group>"; };
  123. 0848898ED1D633CA4A63D392 /* DownloadServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadServiceTests.swift; sourceTree = "<group>"; };
  124. 0ADC80456B47393CD4584C99 /* WaveformGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaveformGenerator.swift; sourceTree = "<group>"; };
  125. 0B949F4466F0B81596C5C405 /* FileNameTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileNameTemplate.swift; sourceTree = "<group>"; };
  126. 10686F358CF00951BE31A568 /* SidebarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarView.swift; sourceTree = "<group>"; };
  127. 1108B34F3CB9DD25F292F8ED /* stb_vorbis_wrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stb_vorbis_wrapper.h; sourceTree = "<group>"; };
  128. 12C20156249966253CB0BC01 /* PlaylistView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistView.swift; sourceTree = "<group>"; };
  129. 14C2D7260E0D82FD7D0BDA28 /* PlaylistUploadButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistUploadButton.swift; sourceTree = "<group>"; };
  130. 1A61463B001623599676BEB7 /* GroupTemplateEditorSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupTemplateEditorSheet.swift; sourceTree = "<group>"; };
  131. 1B9F1343403DEE7D2788A8A4 /* MixBoardUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MixBoardUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  132. 1BAF527C3BCDBD3D04BFA787 /* UploadService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadService.swift; sourceTree = "<group>"; };
  133. 1BB9760CCC20660A8525CE39 /* ChadMusicTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChadMusicTests.swift; sourceTree = "<group>"; };
  134. 1D66878FD3A9BC9745050D13 /* ExporterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExporterTests.swift; sourceTree = "<group>"; };
  135. 2330A5CD9FEB6CF1200D4E8A /* LRCLIBService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LRCLIBService.swift; sourceTree = "<group>"; };
  136. 2422CD2089E7C1331772CB63 /* MixBoard-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MixBoard-Bridging-Header.h"; sourceTree = "<group>"; };
  137. 24ADE9A538A9797BE2D7862B /* LyricsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LyricsParser.swift; sourceTree = "<group>"; };
  138. 261573F9B9AABB23402AB3F2 /* ExportSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExportSheet.swift; sourceTree = "<group>"; };
  139. 2DAE1EDB557716061DEC42F0 /* DownloadsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadsView.swift; sourceTree = "<group>"; };
  140. 3051FEE675462F2B77A356FC /* SyncImporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncImporter.swift; sourceTree = "<group>"; };
  141. 33CBC0258B1C5E76582465F5 /* PlaylistFolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistFolder.swift; sourceTree = "<group>"; };
  142. 350E8D2B44F2BBFCD0364992 /* SlskdModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlskdModels.swift; sourceTree = "<group>"; };
  143. 372A8DCF8420A7B0C8835D0F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
  144. 39571508168CC254BEB95639 /* FileNameTemplateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileNameTemplateTests.swift; sourceTree = "<group>"; };
  145. 39DB5455D6BE460BC4F73953 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
  146. 3AB109A7E510B91AA4BDE6B0 /* UIRevampTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIRevampTests.swift; sourceTree = "<group>"; };
  147. 3B8170FF8C225BE2DC9F0040 /* PlayerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerViewModel.swift; sourceTree = "<group>"; };
  148. 4024DF6E47B81EE988794DA3 /* WaveformView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaveformView.swift; sourceTree = "<group>"; };
  149. 4033D40A0C47C3D8A616D873 /* DownloadProgressTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadProgressTests.swift; sourceTree = "<group>"; };
  150. 420FAF8F83FCEC85F98A5F3C /* DJPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DJPlayerView.swift; sourceTree = "<group>"; };
  151. 43EB89D9BE52F78353EF5094 /* MixBoardUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixBoardUITests.swift; sourceTree = "<group>"; };
  152. 46FC27EACD460EB3137577FA /* PlaylistDownloadButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistDownloadButton.swift; sourceTree = "<group>"; };
  153. 4E30AA6107E4CCFDBA53EF0F /* DownloadIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadIndicator.swift; sourceTree = "<group>"; };
  154. 548313799995EA4B17EE70B7 /* ManagedSlskdCredentials.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManagedSlskdCredentials.swift; sourceTree = "<group>"; };
  155. 586499B8088E26103E29799F /* StreamingPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamingPlayer.swift; sourceTree = "<group>"; };
  156. 5A1CD85068EDFB342EF0A571 /* E2EWorkflowTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = E2EWorkflowTests.swift; sourceTree = "<group>"; };
  157. 650860D291BDC75B9B814C29 /* QueueEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueueEntry.swift; sourceTree = "<group>"; };
  158. 6C8A672BB52C77A8E83F3FFF /* CueSheetExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CueSheetExporter.swift; sourceTree = "<group>"; };
  159. 6C91A932B3430E3B6C07A88E /* SoulseekOrchestrator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoulseekOrchestrator.swift; sourceTree = "<group>"; };
  160. 6CF5F229E82115FB2EBC61D6 /* ModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModelTests.swift; sourceTree = "<group>"; };
  161. 6EB4D92D99DAB7F01E39A0C5 /* QueueView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueueView.swift; sourceTree = "<group>"; };
  162. 7043BDA9D01825F1EF0F92D2 /* DAWExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DAWExporter.swift; sourceTree = "<group>"; };
  163. 7536C7BBF54B0B5B718D370F /* ChadMusic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChadMusic.swift; sourceTree = "<group>"; };
  164. 78C9757402BC873DA3FE3612 /* UnifiedSearchCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnifiedSearchCoordinator.swift; sourceTree = "<group>"; };
  165. 7DB6892183CB93C7DD0FD546 /* PlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerView.swift; sourceTree = "<group>"; };
  166. 7E9F79CCE61D166936929A38 /* Track.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Track.swift; sourceTree = "<group>"; };
  167. 83791DE60BF73B44B44CF598 /* BPMDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPMDetector.swift; sourceTree = "<group>"; };
  168. 858F24E4F4EB9955E3DCE30A /* DownloadService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadService.swift; sourceTree = "<group>"; };
  169. 9063834E1B4AA86F958A1F6C /* CuePoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CuePoint.swift; sourceTree = "<group>"; };
  170. 936532443A34B992B646634D /* MixBoardApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixBoardApp.swift; sourceTree = "<group>"; };
  171. 962F30B9B736FF54E9E787D3 /* CloudBrowserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudBrowserView.swift; sourceTree = "<group>"; };
  172. 971D04012F71444725BB1846 /* TrackRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackRow.swift; sourceTree = "<group>"; };
  173. 9C426D26E04CF15827AD8E8D /* DJBrowserStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DJBrowserStyle.swift; sourceTree = "<group>"; };
  174. A72E397F6C553FA244F7EFD8 /* EDLExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EDLExporter.swift; sourceTree = "<group>"; };
  175. A762EFB3375064E7873C8A41 /* MixBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MixBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
  176. A94FB676F44A50F2145C19B5 /* PlaylistViewConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistViewConfig.swift; sourceTree = "<group>"; };
  177. A9F57CB69E8B6679DC46ED57 /* IntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationTests.swift; sourceTree = "<group>"; };
  178. AD3B309F0338E5A9412826E2 /* AppTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppTheme.swift; sourceTree = "<group>"; };
  179. AEE02C134A0F546021D90B2E /* SlskdTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlskdTests.swift; sourceTree = "<group>"; };
  180. B0942017A8C2411E4EC0EEF8 /* DJComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DJComponents.swift; sourceTree = "<group>"; };
  181. B5EB33906D8B83B47907EB73 /* SyncWatcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncWatcher.swift; sourceTree = "<group>"; };
  182. B942F3DDAA7611C76AA6287B /* LibraryManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryManager.swift; sourceTree = "<group>"; };
  183. B95A4AD1717E86B37F7FD836 /* stb_vorbis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = "<group>"; };
  184. B9F35D9EB91C21D126300620 /* TestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestHelpers.swift; sourceTree = "<group>"; };
  185. BEA3BE9F559194BD6A8DBFC1 /* OGGDecoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OGGDecoder.swift; sourceTree = "<group>"; };
  186. C186E4E5E5FE2F3C87A1B03C /* MetadataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetadataService.swift; sourceTree = "<group>"; };
  187. C3E447D0302B2F806372CD26 /* AuditionExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuditionExporter.swift; sourceTree = "<group>"; };
  188. C60DD8D66C431F8FACC440AB /* SidebarSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarSection.swift; sourceTree = "<group>"; };
  189. C7D0D080C52F79B6A9C8F7E8 /* UnifiedSearchResultsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnifiedSearchResultsView.swift; sourceTree = "<group>"; };
  190. C91BFDC4EF6125CE0A92C365 /* NowPlayingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowPlayingView.swift; sourceTree = "<group>"; };
  191. CC2492DF5B6EB59FBF9FF62D /* SlskdProcessManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlskdProcessManager.swift; sourceTree = "<group>"; };
  192. D0775318FF25759713C3063D /* AppIconConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconConfig.swift; sourceTree = "<group>"; };
  193. D29A1F4EF5FB5ACA4CCA4BBF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
  194. D46AA7D36F9C279C726D8DC8 /* ChadMusicCredentials.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChadMusicCredentials.swift; sourceTree = "<group>"; };
  195. D5CB9510A25DFF0B3E7AA99E /* MediaKeyHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaKeyHandler.swift; sourceTree = "<group>"; };
  196. D7E85070877C451ADE587391 /* Playlist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Playlist.swift; sourceTree = "<group>"; };
  197. D80C9BACD548FF942E79C82F /* GlobalSearchSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalSearchSheet.swift; sourceTree = "<group>"; };
  198. D8DDF2236DA6D1B1E0471E14 /* KeyboardShortcutConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardShortcutConfig.swift; sourceTree = "<group>"; };
  199. D8FB0A5037D57F0F5FED2E3E /* ArtworkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArtworkView.swift; sourceTree = "<group>"; };
  200. DB242ECEFF0FFF4427B42BC0 /* ArtworkService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArtworkService.swift; sourceTree = "<group>"; };
  201. DC5615C432F50F99E53303D0 /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = "<group>"; };
  202. DDEBC9A0E0A3C3ED59388601 /* KeychainService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainService.swift; sourceTree = "<group>"; };
  203. E0150B5D9D8819CC2CC9D7FD /* AlbumDownloadButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumDownloadButton.swift; sourceTree = "<group>"; };
  204. E0457B660537DC8CAD1B6120 /* KeyDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDetector.swift; sourceTree = "<group>"; };
  205. EC342C71B1DC290341B225A6 /* MixBoardTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MixBoardTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  206. F0CD0921C8C90DA6D317E092 /* ChadMusicAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChadMusicAPIClient.swift; sourceTree = "<group>"; };
  207. F39B366B5B7D28F1310EE4C4 /* PlaylistViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaylistViewModel.swift; sourceTree = "<group>"; };
  208. F5C8371A077D34C5EA5EB922 /* KeychainMigrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainMigrationTests.swift; sourceTree = "<group>"; };
  209. F83BB564B9EDF998724C368F /* ServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServiceTests.swift; sourceTree = "<group>"; };
  210. F953CCDD5C91DE428195E31D /* AudioEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioEngine.swift; sourceTree = "<group>"; };
  211. FAC3FB0F3E03999E21E95E25 /* SlskdAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlskdAPIClient.swift; sourceTree = "<group>"; };
  212. FF15B7B75D512A726CA44646 /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = "<group>"; };
  213. /* End PBXFileReference section */
  214. /* Begin PBXGroup section */
  215. 0900F76AAF6D8DBA644C9A7F /* OGG */ = {
  216. isa = PBXGroup;
  217. children = (
  218. 2422CD2089E7C1331772CB63 /* MixBoard-Bridging-Header.h */,
  219. 1108B34F3CB9DD25F292F8ED /* stb_vorbis_wrapper.h */,
  220. B95A4AD1717E86B37F7FD836 /* stb_vorbis.c */,
  221. );
  222. path = OGG;
  223. sourceTree = "<group>";
  224. };
  225. 155CC32D9CC923835331A730 /* E2E */ = {
  226. isa = PBXGroup;
  227. children = (
  228. 5A1CD85068EDFB342EF0A571 /* E2EWorkflowTests.swift */,
  229. A9F57CB69E8B6679DC46ED57 /* IntegrationTests.swift */,
  230. 3AB109A7E510B91AA4BDE6B0 /* UIRevampTests.swift */,
  231. );
  232. path = E2E;
  233. sourceTree = "<group>";
  234. };
  235. 2065C399681DFF04F205D900 /* Sources */ = {
  236. isa = PBXGroup;
  237. children = (
  238. 936532443A34B992B646634D /* MixBoardApp.swift */,
  239. 826272262ECC8CDB287517A2 /* Export */,
  240. AEFB9A1AA893BC7836E7508A /* Models */,
  241. 0900F76AAF6D8DBA644C9A7F /* OGG */,
  242. D57D9707742273A13691CA34 /* Resources */,
  243. 63981D0EE4FF6BDBF1E43EAF /* Services */,
  244. 4F79A8B50E208ADF86DB366D /* ViewModels */,
  245. D0069E94602D44443678A7B9 /* Views */,
  246. );
  247. path = Sources;
  248. sourceTree = "<group>";
  249. };
  250. 3168D3CDC38D28D748B9F95E /* Unit */ = {
  251. isa = PBXGroup;
  252. children = (
  253. 1BB9760CCC20660A8525CE39 /* ChadMusicTests.swift */,
  254. 4033D40A0C47C3D8A616D873 /* DownloadProgressTests.swift */,
  255. 0848898ED1D633CA4A63D392 /* DownloadServiceTests.swift */,
  256. 1D66878FD3A9BC9745050D13 /* ExporterTests.swift */,
  257. 39571508168CC254BEB95639 /* FileNameTemplateTests.swift */,
  258. F5C8371A077D34C5EA5EB922 /* KeychainMigrationTests.swift */,
  259. 6CF5F229E82115FB2EBC61D6 /* ModelTests.swift */,
  260. F83BB564B9EDF998724C368F /* ServiceTests.swift */,
  261. AEE02C134A0F546021D90B2E /* SlskdTests.swift */,
  262. );
  263. path = Unit;
  264. sourceTree = "<group>";
  265. };
  266. 4F79A8B50E208ADF86DB366D /* ViewModels */ = {
  267. isa = PBXGroup;
  268. children = (
  269. 3B8170FF8C225BE2DC9F0040 /* PlayerViewModel.swift */,
  270. F39B366B5B7D28F1310EE4C4 /* PlaylistViewModel.swift */,
  271. );
  272. path = ViewModels;
  273. sourceTree = "<group>";
  274. };
  275. 63981D0EE4FF6BDBF1E43EAF /* Services */ = {
  276. isa = PBXGroup;
  277. children = (
  278. DB242ECEFF0FFF4427B42BC0 /* ArtworkService.swift */,
  279. F953CCDD5C91DE428195E31D /* AudioEngine.swift */,
  280. 83791DE60BF73B44B44CF598 /* BPMDetector.swift */,
  281. F0CD0921C8C90DA6D317E092 /* ChadMusicAPIClient.swift */,
  282. D46AA7D36F9C279C726D8DC8 /* ChadMusicCredentials.swift */,
  283. DC5615C432F50F99E53303D0 /* DownloadManager.swift */,
  284. 858F24E4F4EB9955E3DCE30A /* DownloadService.swift */,
  285. DDEBC9A0E0A3C3ED59388601 /* KeychainService.swift */,
  286. E0457B660537DC8CAD1B6120 /* KeyDetector.swift */,
  287. B942F3DDAA7611C76AA6287B /* LibraryManager.swift */,
  288. 2330A5CD9FEB6CF1200D4E8A /* LRCLIBService.swift */,
  289. 24ADE9A538A9797BE2D7862B /* LyricsParser.swift */,
  290. 548313799995EA4B17EE70B7 /* ManagedSlskdCredentials.swift */,
  291. D5CB9510A25DFF0B3E7AA99E /* MediaKeyHandler.swift */,
  292. C186E4E5E5FE2F3C87A1B03C /* MetadataService.swift */,
  293. BEA3BE9F559194BD6A8DBFC1 /* OGGDecoder.swift */,
  294. 02703297C897DF62E82BCFD9 /* ProgressDownloader.swift */,
  295. FAC3FB0F3E03999E21E95E25 /* SlskdAPIClient.swift */,
  296. CC2492DF5B6EB59FBF9FF62D /* SlskdProcessManager.swift */,
  297. 6C91A932B3430E3B6C07A88E /* SoulseekOrchestrator.swift */,
  298. 586499B8088E26103E29799F /* StreamingPlayer.swift */,
  299. 3051FEE675462F2B77A356FC /* SyncImporter.swift */,
  300. B5EB33906D8B83B47907EB73 /* SyncWatcher.swift */,
  301. 78C9757402BC873DA3FE3612 /* UnifiedSearchCoordinator.swift */,
  302. 1BAF527C3BCDBD3D04BFA787 /* UploadService.swift */,
  303. 0ADC80456B47393CD4584C99 /* WaveformGenerator.swift */,
  304. );
  305. path = Services;
  306. sourceTree = "<group>";
  307. };
  308. 826272262ECC8CDB287517A2 /* Export */ = {
  309. isa = PBXGroup;
  310. children = (
  311. 00A953E02F7201CEC5A42DBE /* AudioStitcher.swift */,
  312. C3E447D0302B2F806372CD26 /* AuditionExporter.swift */,
  313. 6C8A672BB52C77A8E83F3FFF /* CueSheetExporter.swift */,
  314. 7043BDA9D01825F1EF0F92D2 /* DAWExporter.swift */,
  315. 0748BB9CDD4597683EDBECF6 /* DAWProjectExporter.swift */,
  316. A72E397F6C553FA244F7EFD8 /* EDLExporter.swift */,
  317. 045D280E779E9AC3182F56BA /* M3UExporter.swift */,
  318. );
  319. path = Export;
  320. sourceTree = "<group>";
  321. };
  322. 909567D1FC5A795E5CB36B78 /* Products */ = {
  323. isa = PBXGroup;
  324. children = (
  325. A762EFB3375064E7873C8A41 /* MixBoard.app */,
  326. EC342C71B1DC290341B225A6 /* MixBoardTests.xctest */,
  327. 1B9F1343403DEE7D2788A8A4 /* MixBoardUITests.xctest */,
  328. );
  329. name = Products;
  330. sourceTree = "<group>";
  331. };
  332. AC95A0E225819AC7F80D251F /* DJ */ = {
  333. isa = PBXGroup;
  334. children = (
  335. 9C426D26E04CF15827AD8E8D /* DJBrowserStyle.swift */,
  336. B0942017A8C2411E4EC0EEF8 /* DJComponents.swift */,
  337. 420FAF8F83FCEC85F98A5F3C /* DJPlayerView.swift */,
  338. );
  339. path = DJ;
  340. sourceTree = "<group>";
  341. };
  342. AEFB9A1AA893BC7836E7508A /* Models */ = {
  343. isa = PBXGroup;
  344. children = (
  345. D0775318FF25759713C3063D /* AppIconConfig.swift */,
  346. FF15B7B75D512A726CA44646 /* AppState.swift */,
  347. AD3B309F0338E5A9412826E2 /* AppTheme.swift */,
  348. 7536C7BBF54B0B5B718D370F /* ChadMusic.swift */,
  349. 9063834E1B4AA86F958A1F6C /* CuePoint.swift */,
  350. 0B949F4466F0B81596C5C405 /* FileNameTemplate.swift */,
  351. 01A4B3C692C3BA27C29C084B /* GroupTemplateResolver.swift */,
  352. D8DDF2236DA6D1B1E0471E14 /* KeyboardShortcutConfig.swift */,
  353. D7E85070877C451ADE587391 /* Playlist.swift */,
  354. 33CBC0258B1C5E76582465F5 /* PlaylistFolder.swift */,
  355. A94FB676F44A50F2145C19B5 /* PlaylistViewConfig.swift */,
  356. 650860D291BDC75B9B814C29 /* QueueEntry.swift */,
  357. C60DD8D66C431F8FACC440AB /* SidebarSection.swift */,
  358. 350E8D2B44F2BBFCD0364992 /* SlskdModels.swift */,
  359. 7E9F79CCE61D166936929A38 /* Track.swift */,
  360. );
  361. path = Models;
  362. sourceTree = "<group>";
  363. };
  364. C6269FF23223813DA8E6C454 /* Helpers */ = {
  365. isa = PBXGroup;
  366. children = (
  367. B9F35D9EB91C21D126300620 /* TestHelpers.swift */,
  368. );
  369. path = Helpers;
  370. sourceTree = "<group>";
  371. };
  372. CE745D12E931D2FA3307A68B /* UITests */ = {
  373. isa = PBXGroup;
  374. children = (
  375. 43EB89D9BE52F78353EF5094 /* MixBoardUITests.swift */,
  376. );
  377. path = UITests;
  378. sourceTree = "<group>";
  379. };
  380. D0069E94602D44443678A7B9 /* Views */ = {
  381. isa = PBXGroup;
  382. children = (
  383. E0150B5D9D8819CC2CC9D7FD /* AlbumDownloadButton.swift */,
  384. D8FB0A5037D57F0F5FED2E3E /* ArtworkView.swift */,
  385. 962F30B9B736FF54E9E787D3 /* CloudBrowserView.swift */,
  386. 39DB5455D6BE460BC4F73953 /* ContentView.swift */,
  387. 4E30AA6107E4CCFDBA53EF0F /* DownloadIndicator.swift */,
  388. 2DAE1EDB557716061DEC42F0 /* DownloadsView.swift */,
  389. 261573F9B9AABB23402AB3F2 /* ExportSheet.swift */,
  390. D80C9BACD548FF942E79C82F /* GlobalSearchSheet.swift */,
  391. 1A61463B001623599676BEB7 /* GroupTemplateEditorSheet.swift */,
  392. C91BFDC4EF6125CE0A92C365 /* NowPlayingView.swift */,
  393. 7DB6892183CB93C7DD0FD546 /* PlayerView.swift */,
  394. 46FC27EACD460EB3137577FA /* PlaylistDownloadButton.swift */,
  395. 14C2D7260E0D82FD7D0BDA28 /* PlaylistUploadButton.swift */,
  396. 12C20156249966253CB0BC01 /* PlaylistView.swift */,
  397. 6EB4D92D99DAB7F01E39A0C5 /* QueueView.swift */,
  398. 01D496B90B255DE7A6A04105 /* SettingsView.swift */,
  399. 10686F358CF00951BE31A568 /* SidebarView.swift */,
  400. 971D04012F71444725BB1846 /* TrackRow.swift */,
  401. C7D0D080C52F79B6A9C8F7E8 /* UnifiedSearchResultsView.swift */,
  402. 4024DF6E47B81EE988794DA3 /* WaveformView.swift */,
  403. AC95A0E225819AC7F80D251F /* DJ */,
  404. );
  405. path = Views;
  406. sourceTree = "<group>";
  407. };
  408. D57D9707742273A13691CA34 /* Resources */ = {
  409. isa = PBXGroup;
  410. children = (
  411. 372A8DCF8420A7B0C8835D0F /* Info.plist */,
  412. );
  413. path = Resources;
  414. sourceTree = "<group>";
  415. };
  416. EE18FFF82E10AF7470023A4D /* Tests */ = {
  417. isa = PBXGroup;
  418. children = (
  419. 155CC32D9CC923835331A730 /* E2E */,
  420. C6269FF23223813DA8E6C454 /* Helpers */,
  421. 3168D3CDC38D28D748B9F95E /* Unit */,
  422. );
  423. path = Tests;
  424. sourceTree = "<group>";
  425. };
  426. EFB07E5C4FD2AFAD6F8AD1A5 = {
  427. isa = PBXGroup;
  428. children = (
  429. D29A1F4EF5FB5ACA4CCA4BBF /* Assets.xcassets */,
  430. 2065C399681DFF04F205D900 /* Sources */,
  431. EE18FFF82E10AF7470023A4D /* Tests */,
  432. CE745D12E931D2FA3307A68B /* UITests */,
  433. 909567D1FC5A795E5CB36B78 /* Products */,
  434. );
  435. sourceTree = "<group>";
  436. };
  437. /* End PBXGroup section */
  438. /* Begin PBXNativeTarget section */
  439. 33EFC91F348AC0E1F8512ECA /* MixBoard */ = {
  440. isa = PBXNativeTarget;
  441. buildConfigurationList = DFC1DA5FC46C11C509725EB9 /* Build configuration list for PBXNativeTarget "MixBoard" */;
  442. buildPhases = (
  443. 13CBA3E22A579B71FAD6F230 /* Sources */,
  444. 19BD8F4060DEB818EF6B53D4 /* Resources */,
  445. );
  446. buildRules = (
  447. );
  448. dependencies = (
  449. );
  450. name = MixBoard;
  451. packageProductDependencies = (
  452. );
  453. productName = MixBoard;
  454. productReference = A762EFB3375064E7873C8A41 /* MixBoard.app */;
  455. productType = "com.apple.product-type.application";
  456. };
  457. 3CCC52C463BB895802789743 /* MixBoardTests */ = {
  458. isa = PBXNativeTarget;
  459. buildConfigurationList = 54EA94000DA7B2E23947C31C /* Build configuration list for PBXNativeTarget "MixBoardTests" */;
  460. buildPhases = (
  461. FD3BC3A2C6095A051DFDC56F /* Sources */,
  462. );
  463. buildRules = (
  464. );
  465. dependencies = (
  466. E6079E5A6C41D14651270BF4 /* PBXTargetDependency */,
  467. );
  468. name = MixBoardTests;
  469. packageProductDependencies = (
  470. );
  471. productName = MixBoardTests;
  472. productReference = EC342C71B1DC290341B225A6 /* MixBoardTests.xctest */;
  473. productType = "com.apple.product-type.bundle.unit-test";
  474. };
  475. D84EFF647280CCD7F77D77AB /* MixBoardUITests */ = {
  476. isa = PBXNativeTarget;
  477. buildConfigurationList = 890E3B2C3D8C2F7354E065DD /* Build configuration list for PBXNativeTarget "MixBoardUITests" */;
  478. buildPhases = (
  479. CFBD443D7B7183E42BBC4FA7 /* Sources */,
  480. );
  481. buildRules = (
  482. );
  483. dependencies = (
  484. 4887D269CE7D07044EB132A0 /* PBXTargetDependency */,
  485. );
  486. name = MixBoardUITests;
  487. packageProductDependencies = (
  488. );
  489. productName = MixBoardUITests;
  490. productReference = 1B9F1343403DEE7D2788A8A4 /* MixBoardUITests.xctest */;
  491. productType = "com.apple.product-type.bundle.ui-testing";
  492. };
  493. /* End PBXNativeTarget section */
  494. /* Begin PBXProject section */
  495. 1493F43231E452AC09121B22 /* Project object */ = {
  496. isa = PBXProject;
  497. attributes = {
  498. BuildIndependentTargetsInParallel = YES;
  499. LastUpgradeCheck = 1600;
  500. TargetAttributes = {
  501. D84EFF647280CCD7F77D77AB = {
  502. TestTargetID = 33EFC91F348AC0E1F8512ECA;
  503. };
  504. };
  505. };
  506. buildConfigurationList = 4884383C090DF98ADA109D6F /* Build configuration list for PBXProject "MixBoard" */;
  507. compatibilityVersion = "Xcode 14.0";
  508. developmentRegion = en;
  509. hasScannedForEncodings = 0;
  510. knownRegions = (
  511. Base,
  512. en,
  513. );
  514. mainGroup = EFB07E5C4FD2AFAD6F8AD1A5;
  515. minimizedProjectReferenceProxies = 1;
  516. preferredProjectObjectVersion = 77;
  517. projectDirPath = "";
  518. projectRoot = "";
  519. targets = (
  520. 33EFC91F348AC0E1F8512ECA /* MixBoard */,
  521. 3CCC52C463BB895802789743 /* MixBoardTests */,
  522. D84EFF647280CCD7F77D77AB /* MixBoardUITests */,
  523. );
  524. };
  525. /* End PBXProject section */
  526. /* Begin PBXResourcesBuildPhase section */
  527. 19BD8F4060DEB818EF6B53D4 /* Resources */ = {
  528. isa = PBXResourcesBuildPhase;
  529. buildActionMask = 2147483647;
  530. files = (
  531. 8A96CC1E8CC532F3ADB6ECE7 /* Assets.xcassets in Resources */,
  532. );
  533. runOnlyForDeploymentPostprocessing = 0;
  534. };
  535. /* End PBXResourcesBuildPhase section */
  536. /* Begin PBXSourcesBuildPhase section */
  537. 13CBA3E22A579B71FAD6F230 /* Sources */ = {
  538. isa = PBXSourcesBuildPhase;
  539. buildActionMask = 2147483647;
  540. files = (
  541. BC4B737A991DACEEE6075B68 /* AlbumDownloadButton.swift in Sources */,
  542. 262570671DF03442758075E0 /* AppIconConfig.swift in Sources */,
  543. 05250104065AC9F86AED7640 /* AppState.swift in Sources */,
  544. 5DBAFF76FB86E768FF8324C4 /* AppTheme.swift in Sources */,
  545. EC0DD99AFFFDA7D25407E991 /* ArtworkService.swift in Sources */,
  546. BCCEA4536EF1E4EDC85047B9 /* ArtworkView.swift in Sources */,
  547. CDFAF9F75CAEFD3091DE95D9 /* AudioEngine.swift in Sources */,
  548. 461A7875FBC20ADCE231103E /* AudioStitcher.swift in Sources */,
  549. 3B76CF2335562FD54CAD71BE /* AuditionExporter.swift in Sources */,
  550. B071D5E1F39AA70316FA4FDF /* BPMDetector.swift in Sources */,
  551. 638D763E72DC3774160E414F /* ChadMusic.swift in Sources */,
  552. C6C8A67458FC5DCFD06A1C5D /* ChadMusicAPIClient.swift in Sources */,
  553. 5604020B0302E9AC3B81CB90 /* ChadMusicCredentials.swift in Sources */,
  554. 31450D9ABC6BD3AD4BC160E2 /* CloudBrowserView.swift in Sources */,
  555. 97CD156068E3A732B75A822D /* ContentView.swift in Sources */,
  556. AD8102FED08EEBF9E7CD5AE4 /* CuePoint.swift in Sources */,
  557. F2E4BE62D73171D8E7D63006 /* CueSheetExporter.swift in Sources */,
  558. 6E8E6342167F74728BB11860 /* DAWExporter.swift in Sources */,
  559. 155361528270AA0A5BC10857 /* DAWProjectExporter.swift in Sources */,
  560. ACC155B662850EAF1907BA50 /* DJBrowserStyle.swift in Sources */,
  561. BBDBF015E5A87A280717955F /* DJComponents.swift in Sources */,
  562. D4E73FC462DF12A5FAAE8C76 /* DJPlayerView.swift in Sources */,
  563. CF9C4D6F45A3CA4228A8CBEA /* DownloadIndicator.swift in Sources */,
  564. ED3B403C28CF291E3483823E /* DownloadManager.swift in Sources */,
  565. 97DC2F7815AE935E67FCABB3 /* DownloadService.swift in Sources */,
  566. F4E2BD8E6DA70E2325277FEF /* DownloadsView.swift in Sources */,
  567. AFB70F19181547ABB1AFEE0A /* EDLExporter.swift in Sources */,
  568. DD7452BB415E285D2D39A667 /* ExportSheet.swift in Sources */,
  569. 9EAB929A4063EF9BCBCC1E05 /* FileNameTemplate.swift in Sources */,
  570. F7058DDE85BB601CBB7C9BD9 /* GlobalSearchSheet.swift in Sources */,
  571. 2018533194941BADC392CCD0 /* GroupTemplateEditorSheet.swift in Sources */,
  572. 48D625A899FB4CD97A1CAC48 /* GroupTemplateResolver.swift in Sources */,
  573. EE13D90C3C2ACF1348391C69 /* KeyDetector.swift in Sources */,
  574. C95509E70051622AE49B65E3 /* KeyboardShortcutConfig.swift in Sources */,
  575. CC8BC49C6AF43733936E3A4C /* KeychainService.swift in Sources */,
  576. EAC68B369B8957C0809C767A /* LRCLIBService.swift in Sources */,
  577. 8CEE003726D0A7A94B0F2A62 /* LibraryManager.swift in Sources */,
  578. 58718BAD0FD35D0D999F7C43 /* LyricsParser.swift in Sources */,
  579. 1F5879AF2B534B9D146D4AEC /* M3UExporter.swift in Sources */,
  580. B2EAE0075293664E8E250DFF /* ManagedSlskdCredentials.swift in Sources */,
  581. 735062052406557AD5EA269A /* MediaKeyHandler.swift in Sources */,
  582. DD8CAE7B23CD799AF8D4934F /* MetadataService.swift in Sources */,
  583. 289A2312A2E8CAC34308F7FB /* MixBoardApp.swift in Sources */,
  584. 6C71B39EA00C5E9579EF6C7C /* NowPlayingView.swift in Sources */,
  585. 3777ADCCD94A17218C335EE2 /* OGGDecoder.swift in Sources */,
  586. 5AA97C256D3B08ABF017DD0E /* PlayerView.swift in Sources */,
  587. 37471C3642A075ED661A2DB9 /* PlayerViewModel.swift in Sources */,
  588. C5176BA733BF12E3469B0EAC /* Playlist.swift in Sources */,
  589. BA52D57A925349BFDA049016 /* PlaylistDownloadButton.swift in Sources */,
  590. E60123D4FFD92FBD9B3B4E69 /* PlaylistFolder.swift in Sources */,
  591. F0FF4D62FCE23A447DDE628F /* PlaylistUploadButton.swift in Sources */,
  592. 1528E4838F567A508BE4A11D /* PlaylistView.swift in Sources */,
  593. A7A5B8BB3004AB1F33924352 /* PlaylistViewConfig.swift in Sources */,
  594. 691A0746845CBD34C766E634 /* PlaylistViewModel.swift in Sources */,
  595. 7E121C1DCB7F0E90E9257169 /* ProgressDownloader.swift in Sources */,
  596. 6F07724BA21094C476EB0660 /* QueueEntry.swift in Sources */,
  597. 6B9B61C578BF56C923C2B4E3 /* QueueView.swift in Sources */,
  598. 0B7C4BD3AC54C81F59D95769 /* SettingsView.swift in Sources */,
  599. 60EAF28899D77932FF624D4D /* SidebarSection.swift in Sources */,
  600. 57994E3E18195FD31CBDC82B /* SidebarView.swift in Sources */,
  601. 625302B6373DEFBB19CDA5B3 /* SlskdAPIClient.swift in Sources */,
  602. 14287785755BAB2B7AC1FA8B /* SlskdModels.swift in Sources */,
  603. 6CE1660EB2326325AD3BCDAA /* SlskdProcessManager.swift in Sources */,
  604. 838BFA9D25D1D9FD7729FF8D /* SoulseekOrchestrator.swift in Sources */,
  605. 88BFFA594A1BB6BFF3D0AA82 /* StreamingPlayer.swift in Sources */,
  606. B19F5B2E4587252976BE904E /* SyncImporter.swift in Sources */,
  607. 062F31FB5DC04601FA178F29 /* SyncWatcher.swift in Sources */,
  608. 1085C4BC3C8EFE23DD89A7F9 /* Track.swift in Sources */,
  609. 45C89316C5AB16272EC76D9F /* TrackRow.swift in Sources */,
  610. 1FE6DEA438C4E93ABEB60BA8 /* UnifiedSearchCoordinator.swift in Sources */,
  611. A662625A69F5811DE5B98011 /* UnifiedSearchResultsView.swift in Sources */,
  612. 23D727E95A84A3405E45EB85 /* UploadService.swift in Sources */,
  613. 60B4E444C175C98B6F762762 /* WaveformGenerator.swift in Sources */,
  614. CD58E38E196F93425131B213 /* WaveformView.swift in Sources */,
  615. 690AA870FCF9B4A26EED8725 /* stb_vorbis.c in Sources */,
  616. );
  617. runOnlyForDeploymentPostprocessing = 0;
  618. };
  619. CFBD443D7B7183E42BBC4FA7 /* Sources */ = {
  620. isa = PBXSourcesBuildPhase;
  621. buildActionMask = 2147483647;
  622. files = (
  623. BD5FBA2A96BB2012FD2A31DF /* MixBoardUITests.swift in Sources */,
  624. );
  625. runOnlyForDeploymentPostprocessing = 0;
  626. };
  627. FD3BC3A2C6095A051DFDC56F /* Sources */ = {
  628. isa = PBXSourcesBuildPhase;
  629. buildActionMask = 2147483647;
  630. files = (
  631. 0475F2DDF3E2B282DDD32730 /* ChadMusicTests.swift in Sources */,
  632. 2081DF7F9F99DB075FE5302D /* DownloadProgressTests.swift in Sources */,
  633. 95455BB3DD59E2F888258FE5 /* DownloadServiceTests.swift in Sources */,
  634. B1168E099BF810B143F9CECD /* E2EWorkflowTests.swift in Sources */,
  635. 42D7ED2A29566B252DADFC2D /* ExporterTests.swift in Sources */,
  636. 9C5A7DDD55E5367DB6E2AE96 /* FileNameTemplateTests.swift in Sources */,
  637. 19D734917A3D1D41990795E6 /* IntegrationTests.swift in Sources */,
  638. 013C7A2CED00B8F4023B409D /* KeychainMigrationTests.swift in Sources */,
  639. 7FD8DC64107B2249CD5BEF1E /* ModelTests.swift in Sources */,
  640. 3F3163BC5FFAA0EC64603580 /* ServiceTests.swift in Sources */,
  641. 368AED06320D475968D9C2D8 /* SlskdTests.swift in Sources */,
  642. 2897F9B97E53C752BC8291EC /* TestHelpers.swift in Sources */,
  643. 80E91D917D54453D8760F183 /* UIRevampTests.swift in Sources */,
  644. );
  645. runOnlyForDeploymentPostprocessing = 0;
  646. };
  647. /* End PBXSourcesBuildPhase section */
  648. /* Begin PBXTargetDependency section */
  649. 4887D269CE7D07044EB132A0 /* PBXTargetDependency */ = {
  650. isa = PBXTargetDependency;
  651. target = 33EFC91F348AC0E1F8512ECA /* MixBoard */;
  652. targetProxy = 2CB67669C43B70ECDAB29454 /* PBXContainerItemProxy */;
  653. };
  654. E6079E5A6C41D14651270BF4 /* PBXTargetDependency */ = {
  655. isa = PBXTargetDependency;
  656. target = 33EFC91F348AC0E1F8512ECA /* MixBoard */;
  657. targetProxy = 25C442C870895C13C18E6E2D /* PBXContainerItemProxy */;
  658. };
  659. /* End PBXTargetDependency section */
  660. /* Begin XCBuildConfiguration section */
  661. 1B9CCD89D83C172231368ADA /* Release */ = {
  662. isa = XCBuildConfiguration;
  663. buildSettings = {
  664. ALWAYS_SEARCH_USER_PATHS = NO;
  665. CLANG_ANALYZER_NONNULL = YES;
  666. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  667. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  668. CLANG_CXX_LIBRARY = "libc++";
  669. CLANG_ENABLE_MODULES = YES;
  670. CLANG_ENABLE_OBJC_ARC = YES;
  671. CLANG_ENABLE_OBJC_WEAK = YES;
  672. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  673. CLANG_WARN_BOOL_CONVERSION = YES;
  674. CLANG_WARN_COMMA = YES;
  675. CLANG_WARN_CONSTANT_CONVERSION = YES;
  676. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  677. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  678. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  679. CLANG_WARN_EMPTY_BODY = YES;
  680. CLANG_WARN_ENUM_CONVERSION = YES;
  681. CLANG_WARN_INFINITE_RECURSION = YES;
  682. CLANG_WARN_INT_CONVERSION = YES;
  683. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  684. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  685. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  686. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  687. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  688. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  689. CLANG_WARN_STRICT_PROTOTYPES = YES;
  690. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  691. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  692. CLANG_WARN_UNREACHABLE_CODE = YES;
  693. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  694. COPY_PHASE_STRIP = NO;
  695. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  696. ENABLE_NS_ASSERTIONS = NO;
  697. ENABLE_STRICT_OBJC_MSGSEND = YES;
  698. GCC_C_LANGUAGE_STANDARD = gnu11;
  699. GCC_NO_COMMON_BLOCKS = YES;
  700. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  701. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  702. GCC_WARN_UNDECLARED_SELECTOR = YES;
  703. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  704. GCC_WARN_UNUSED_FUNCTION = YES;
  705. GCC_WARN_UNUSED_VARIABLE = YES;
  706. MACOSX_DEPLOYMENT_TARGET = 14.0;
  707. MTL_ENABLE_DEBUG_INFO = NO;
  708. MTL_FAST_MATH = YES;
  709. PRODUCT_NAME = "$(TARGET_NAME)";
  710. SDKROOT = macosx;
  711. SWIFT_COMPILATION_MODE = wholemodule;
  712. SWIFT_OPTIMIZATION_LEVEL = "-O";
  713. SWIFT_VERSION = 5.9;
  714. };
  715. name = Release;
  716. };
  717. 21DC24B16F3B58685674049B /* Debug */ = {
  718. isa = XCBuildConfiguration;
  719. buildSettings = {
  720. BUNDLE_LOADER = "$(TEST_HOST)";
  721. CODE_SIGN_IDENTITY = "-";
  722. COMBINE_HIDPI_IMAGES = YES;
  723. GENERATE_INFOPLIST_FILE = YES;
  724. LD_RUNPATH_SEARCH_PATHS = (
  725. "$(inherited)",
  726. "@executable_path/../Frameworks",
  727. "@loader_path/../Frameworks",
  728. );
  729. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoardTests;
  730. SDKROOT = macosx;
  731. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MixBoard.app/Contents/MacOS/MixBoard";
  732. };
  733. name = Debug;
  734. };
  735. 24D35514AD0D97CAAA38C4D2 /* Debug */ = {
  736. isa = XCBuildConfiguration;
  737. buildSettings = {
  738. ALWAYS_SEARCH_USER_PATHS = NO;
  739. CLANG_ANALYZER_NONNULL = YES;
  740. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  741. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  742. CLANG_CXX_LIBRARY = "libc++";
  743. CLANG_ENABLE_MODULES = YES;
  744. CLANG_ENABLE_OBJC_ARC = YES;
  745. CLANG_ENABLE_OBJC_WEAK = YES;
  746. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  747. CLANG_WARN_BOOL_CONVERSION = YES;
  748. CLANG_WARN_COMMA = YES;
  749. CLANG_WARN_CONSTANT_CONVERSION = YES;
  750. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  751. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  752. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  753. CLANG_WARN_EMPTY_BODY = YES;
  754. CLANG_WARN_ENUM_CONVERSION = YES;
  755. CLANG_WARN_INFINITE_RECURSION = YES;
  756. CLANG_WARN_INT_CONVERSION = YES;
  757. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  758. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  759. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  760. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  761. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  762. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  763. CLANG_WARN_STRICT_PROTOTYPES = YES;
  764. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  765. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  766. CLANG_WARN_UNREACHABLE_CODE = YES;
  767. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  768. COPY_PHASE_STRIP = NO;
  769. DEBUG_INFORMATION_FORMAT = dwarf;
  770. ENABLE_STRICT_OBJC_MSGSEND = YES;
  771. ENABLE_TESTABILITY = YES;
  772. GCC_C_LANGUAGE_STANDARD = gnu11;
  773. GCC_DYNAMIC_NO_PIC = NO;
  774. GCC_NO_COMMON_BLOCKS = YES;
  775. GCC_OPTIMIZATION_LEVEL = 0;
  776. GCC_PREPROCESSOR_DEFINITIONS = (
  777. "$(inherited)",
  778. "DEBUG=1",
  779. );
  780. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  781. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  782. GCC_WARN_UNDECLARED_SELECTOR = YES;
  783. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  784. GCC_WARN_UNUSED_FUNCTION = YES;
  785. GCC_WARN_UNUSED_VARIABLE = YES;
  786. MACOSX_DEPLOYMENT_TARGET = 14.0;
  787. MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
  788. MTL_FAST_MATH = YES;
  789. ONLY_ACTIVE_ARCH = YES;
  790. PRODUCT_NAME = "$(TARGET_NAME)";
  791. SDKROOT = macosx;
  792. SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  793. SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  794. SWIFT_VERSION = 5.9;
  795. };
  796. name = Debug;
  797. };
  798. 8F60504DD4F1A90D1B98AA58 /* Debug */ = {
  799. isa = XCBuildConfiguration;
  800. buildSettings = {
  801. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  802. CODE_SIGN_ENTITLEMENTS = "";
  803. COMBINE_HIDPI_IMAGES = YES;
  804. CURRENT_PROJECT_VERSION = 1;
  805. ENABLE_HARDENED_RUNTIME = YES;
  806. GENERATE_INFOPLIST_FILE = NO;
  807. INFOPLIST_FILE = Sources/Resources/Info.plist;
  808. INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
  809. LD_RUNPATH_SEARCH_PATHS = (
  810. "$(inherited)",
  811. "@executable_path/../Frameworks",
  812. );
  813. MARKETING_VERSION = 1.0.0;
  814. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoard;
  815. PRODUCT_NAME = MixBoard;
  816. SDKROOT = macosx;
  817. SWIFT_EMIT_LOC_STRINGS = YES;
  818. SWIFT_OBJC_BRIDGING_HEADER = "Sources/OGG/MixBoard-Bridging-Header.h";
  819. };
  820. name = Debug;
  821. };
  822. 93923137D0775B1DCC4CE907 /* Release */ = {
  823. isa = XCBuildConfiguration;
  824. buildSettings = {
  825. BUNDLE_LOADER = "$(TEST_HOST)";
  826. COMBINE_HIDPI_IMAGES = YES;
  827. GENERATE_INFOPLIST_FILE = YES;
  828. LD_RUNPATH_SEARCH_PATHS = (
  829. "$(inherited)",
  830. "@executable_path/Frameworks",
  831. "@loader_path/Frameworks",
  832. );
  833. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoardUITests;
  834. SDKROOT = macosx;
  835. TEST_TARGET_NAME = MixBoard;
  836. };
  837. name = Release;
  838. };
  839. 968A59111F308F01269994E8 /* Debug */ = {
  840. isa = XCBuildConfiguration;
  841. buildSettings = {
  842. BUNDLE_LOADER = "$(TEST_HOST)";
  843. CODE_SIGN_IDENTITY = "-";
  844. COMBINE_HIDPI_IMAGES = YES;
  845. GENERATE_INFOPLIST_FILE = YES;
  846. LD_RUNPATH_SEARCH_PATHS = (
  847. "$(inherited)",
  848. "@executable_path/Frameworks",
  849. "@loader_path/Frameworks",
  850. );
  851. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoardUITests;
  852. SDKROOT = macosx;
  853. TEST_TARGET_NAME = MixBoard;
  854. };
  855. name = Debug;
  856. };
  857. B66C8C9AD9C8CFC483BCCBB9 /* Release */ = {
  858. isa = XCBuildConfiguration;
  859. buildSettings = {
  860. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  861. CODE_SIGN_ENTITLEMENTS = "";
  862. COMBINE_HIDPI_IMAGES = YES;
  863. CURRENT_PROJECT_VERSION = 1;
  864. ENABLE_HARDENED_RUNTIME = YES;
  865. GENERATE_INFOPLIST_FILE = NO;
  866. INFOPLIST_FILE = Sources/Resources/Info.plist;
  867. INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
  868. LD_RUNPATH_SEARCH_PATHS = (
  869. "$(inherited)",
  870. "@executable_path/../Frameworks",
  871. );
  872. MARKETING_VERSION = 1.0.0;
  873. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoard;
  874. PRODUCT_NAME = MixBoard;
  875. SDKROOT = macosx;
  876. SWIFT_EMIT_LOC_STRINGS = YES;
  877. SWIFT_OBJC_BRIDGING_HEADER = "Sources/OGG/MixBoard-Bridging-Header.h";
  878. };
  879. name = Release;
  880. };
  881. C9318D7BE959F0CE4CE98DE9 /* Release */ = {
  882. isa = XCBuildConfiguration;
  883. buildSettings = {
  884. BUNDLE_LOADER = "$(TEST_HOST)";
  885. COMBINE_HIDPI_IMAGES = YES;
  886. GENERATE_INFOPLIST_FILE = YES;
  887. LD_RUNPATH_SEARCH_PATHS = (
  888. "$(inherited)",
  889. "@executable_path/../Frameworks",
  890. "@loader_path/../Frameworks",
  891. );
  892. PRODUCT_BUNDLE_IDENTIFIER = com.mixboard.MixBoardTests;
  893. SDKROOT = macosx;
  894. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MixBoard.app/Contents/MacOS/MixBoard";
  895. };
  896. name = Release;
  897. };
  898. /* End XCBuildConfiguration section */
  899. /* Begin XCConfigurationList section */
  900. 4884383C090DF98ADA109D6F /* Build configuration list for PBXProject "MixBoard" */ = {
  901. isa = XCConfigurationList;
  902. buildConfigurations = (
  903. 24D35514AD0D97CAAA38C4D2 /* Debug */,
  904. 1B9CCD89D83C172231368ADA /* Release */,
  905. );
  906. defaultConfigurationIsVisible = 0;
  907. defaultConfigurationName = Debug;
  908. };
  909. 54EA94000DA7B2E23947C31C /* Build configuration list for PBXNativeTarget "MixBoardTests" */ = {
  910. isa = XCConfigurationList;
  911. buildConfigurations = (
  912. 21DC24B16F3B58685674049B /* Debug */,
  913. C9318D7BE959F0CE4CE98DE9 /* Release */,
  914. );
  915. defaultConfigurationIsVisible = 0;
  916. defaultConfigurationName = Debug;
  917. };
  918. 890E3B2C3D8C2F7354E065DD /* Build configuration list for PBXNativeTarget "MixBoardUITests" */ = {
  919. isa = XCConfigurationList;
  920. buildConfigurations = (
  921. 968A59111F308F01269994E8 /* Debug */,
  922. 93923137D0775B1DCC4CE907 /* Release */,
  923. );
  924. defaultConfigurationIsVisible = 0;
  925. defaultConfigurationName = Debug;
  926. };
  927. DFC1DA5FC46C11C509725EB9 /* Build configuration list for PBXNativeTarget "MixBoard" */ = {
  928. isa = XCConfigurationList;
  929. buildConfigurations = (
  930. 8F60504DD4F1A90D1B98AA58 /* Debug */,
  931. B66C8C9AD9C8CFC483BCCBB9 /* Release */,
  932. );
  933. defaultConfigurationIsVisible = 0;
  934. defaultConfigurationName = Debug;
  935. };
  936. /* End XCConfigurationList section */
  937. };
  938. rootObject = 1493F43231E452AC09121B22 /* Project object */;
  939. }