Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add macOS Xcode project and SwiftUI app

+839
+546
macos/Rockbox.xcodeproj/project.pbxproj
··· 1 + // !$*UTF8*$! 2 + { 3 + archiveVersion = 1; 4 + classes = { 5 + }; 6 + objectVersion = 77; 7 + objects = { 8 + 9 + /* Begin PBXContainerItemProxy section */ 10 + E7F53ACC2EEDDB1C006E0F3F /* PBXContainerItemProxy */ = { 11 + isa = PBXContainerItemProxy; 12 + containerPortal = E7F53AB52EEDDB1B006E0F3F /* Project object */; 13 + proxyType = 1; 14 + remoteGlobalIDString = E7F53ABC2EEDDB1B006E0F3F; 15 + remoteInfo = Rockbox; 16 + }; 17 + E7F53AD62EEDDB1C006E0F3F /* PBXContainerItemProxy */ = { 18 + isa = PBXContainerItemProxy; 19 + containerPortal = E7F53AB52EEDDB1B006E0F3F /* Project object */; 20 + proxyType = 1; 21 + remoteGlobalIDString = E7F53ABC2EEDDB1B006E0F3F; 22 + remoteInfo = Rockbox; 23 + }; 24 + /* End PBXContainerItemProxy section */ 25 + 26 + /* Begin PBXFileReference section */ 27 + E7F53ABD2EEDDB1B006E0F3F /* Rockbox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rockbox.app; sourceTree = BUILT_PRODUCTS_DIR; }; 28 + E7F53ACB2EEDDB1C006E0F3F /* RockboxTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RockboxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 29 + E7F53AD52EEDDB1C006E0F3F /* RockboxUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RockboxUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 30 + /* End PBXFileReference section */ 31 + 32 + /* Begin PBXFileSystemSynchronizedRootGroup section */ 33 + E7F53ABF2EEDDB1B006E0F3F /* Rockbox */ = { 34 + isa = PBXFileSystemSynchronizedRootGroup; 35 + path = Rockbox; 36 + sourceTree = "<group>"; 37 + }; 38 + E7F53ACE2EEDDB1C006E0F3F /* RockboxTests */ = { 39 + isa = PBXFileSystemSynchronizedRootGroup; 40 + path = RockboxTests; 41 + sourceTree = "<group>"; 42 + }; 43 + E7F53AD82EEDDB1C006E0F3F /* RockboxUITests */ = { 44 + isa = PBXFileSystemSynchronizedRootGroup; 45 + path = RockboxUITests; 46 + sourceTree = "<group>"; 47 + }; 48 + /* End PBXFileSystemSynchronizedRootGroup section */ 49 + 50 + /* Begin PBXFrameworksBuildPhase section */ 51 + E7F53ABA2EEDDB1B006E0F3F /* Frameworks */ = { 52 + isa = PBXFrameworksBuildPhase; 53 + buildActionMask = 2147483647; 54 + files = ( 55 + ); 56 + runOnlyForDeploymentPostprocessing = 0; 57 + }; 58 + E7F53AC82EEDDB1C006E0F3F /* Frameworks */ = { 59 + isa = PBXFrameworksBuildPhase; 60 + buildActionMask = 2147483647; 61 + files = ( 62 + ); 63 + runOnlyForDeploymentPostprocessing = 0; 64 + }; 65 + E7F53AD22EEDDB1C006E0F3F /* Frameworks */ = { 66 + isa = PBXFrameworksBuildPhase; 67 + buildActionMask = 2147483647; 68 + files = ( 69 + ); 70 + runOnlyForDeploymentPostprocessing = 0; 71 + }; 72 + /* End PBXFrameworksBuildPhase section */ 73 + 74 + /* Begin PBXGroup section */ 75 + E7F53AB42EEDDB1B006E0F3F = { 76 + isa = PBXGroup; 77 + children = ( 78 + E7F53ABF2EEDDB1B006E0F3F /* Rockbox */, 79 + E7F53ACE2EEDDB1C006E0F3F /* RockboxTests */, 80 + E7F53AD82EEDDB1C006E0F3F /* RockboxUITests */, 81 + E7F53ABE2EEDDB1B006E0F3F /* Products */, 82 + ); 83 + sourceTree = "<group>"; 84 + }; 85 + E7F53ABE2EEDDB1B006E0F3F /* Products */ = { 86 + isa = PBXGroup; 87 + children = ( 88 + E7F53ABD2EEDDB1B006E0F3F /* Rockbox.app */, 89 + E7F53ACB2EEDDB1C006E0F3F /* RockboxTests.xctest */, 90 + E7F53AD52EEDDB1C006E0F3F /* RockboxUITests.xctest */, 91 + ); 92 + name = Products; 93 + sourceTree = "<group>"; 94 + }; 95 + /* End PBXGroup section */ 96 + 97 + /* Begin PBXNativeTarget section */ 98 + E7F53ABC2EEDDB1B006E0F3F /* Rockbox */ = { 99 + isa = PBXNativeTarget; 100 + buildConfigurationList = E7F53ADF2EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "Rockbox" */; 101 + buildPhases = ( 102 + E7F53AB92EEDDB1B006E0F3F /* Sources */, 103 + E7F53ABA2EEDDB1B006E0F3F /* Frameworks */, 104 + E7F53ABB2EEDDB1B006E0F3F /* Resources */, 105 + ); 106 + buildRules = ( 107 + ); 108 + dependencies = ( 109 + ); 110 + fileSystemSynchronizedGroups = ( 111 + E7F53ABF2EEDDB1B006E0F3F /* Rockbox */, 112 + ); 113 + name = Rockbox; 114 + packageProductDependencies = ( 115 + ); 116 + productName = Rockbox; 117 + productReference = E7F53ABD2EEDDB1B006E0F3F /* Rockbox.app */; 118 + productType = "com.apple.product-type.application"; 119 + }; 120 + E7F53ACA2EEDDB1C006E0F3F /* RockboxTests */ = { 121 + isa = PBXNativeTarget; 122 + buildConfigurationList = E7F53AE22EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "RockboxTests" */; 123 + buildPhases = ( 124 + E7F53AC72EEDDB1C006E0F3F /* Sources */, 125 + E7F53AC82EEDDB1C006E0F3F /* Frameworks */, 126 + E7F53AC92EEDDB1C006E0F3F /* Resources */, 127 + ); 128 + buildRules = ( 129 + ); 130 + dependencies = ( 131 + E7F53ACD2EEDDB1C006E0F3F /* PBXTargetDependency */, 132 + ); 133 + fileSystemSynchronizedGroups = ( 134 + E7F53ACE2EEDDB1C006E0F3F /* RockboxTests */, 135 + ); 136 + name = RockboxTests; 137 + packageProductDependencies = ( 138 + ); 139 + productName = RockboxTests; 140 + productReference = E7F53ACB2EEDDB1C006E0F3F /* RockboxTests.xctest */; 141 + productType = "com.apple.product-type.bundle.unit-test"; 142 + }; 143 + E7F53AD42EEDDB1C006E0F3F /* RockboxUITests */ = { 144 + isa = PBXNativeTarget; 145 + buildConfigurationList = E7F53AE52EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "RockboxUITests" */; 146 + buildPhases = ( 147 + E7F53AD12EEDDB1C006E0F3F /* Sources */, 148 + E7F53AD22EEDDB1C006E0F3F /* Frameworks */, 149 + E7F53AD32EEDDB1C006E0F3F /* Resources */, 150 + ); 151 + buildRules = ( 152 + ); 153 + dependencies = ( 154 + E7F53AD72EEDDB1C006E0F3F /* PBXTargetDependency */, 155 + ); 156 + fileSystemSynchronizedGroups = ( 157 + E7F53AD82EEDDB1C006E0F3F /* RockboxUITests */, 158 + ); 159 + name = RockboxUITests; 160 + packageProductDependencies = ( 161 + ); 162 + productName = RockboxUITests; 163 + productReference = E7F53AD52EEDDB1C006E0F3F /* RockboxUITests.xctest */; 164 + productType = "com.apple.product-type.bundle.ui-testing"; 165 + }; 166 + /* End PBXNativeTarget section */ 167 + 168 + /* Begin PBXProject section */ 169 + E7F53AB52EEDDB1B006E0F3F /* Project object */ = { 170 + isa = PBXProject; 171 + attributes = { 172 + BuildIndependentTargetsInParallel = 1; 173 + LastSwiftUpdateCheck = 1640; 174 + LastUpgradeCheck = 1640; 175 + TargetAttributes = { 176 + E7F53ABC2EEDDB1B006E0F3F = { 177 + CreatedOnToolsVersion = 16.4; 178 + }; 179 + E7F53ACA2EEDDB1C006E0F3F = { 180 + CreatedOnToolsVersion = 16.4; 181 + TestTargetID = E7F53ABC2EEDDB1B006E0F3F; 182 + }; 183 + E7F53AD42EEDDB1C006E0F3F = { 184 + CreatedOnToolsVersion = 16.4; 185 + TestTargetID = E7F53ABC2EEDDB1B006E0F3F; 186 + }; 187 + }; 188 + }; 189 + buildConfigurationList = E7F53AB82EEDDB1B006E0F3F /* Build configuration list for PBXProject "Rockbox" */; 190 + developmentRegion = en; 191 + hasScannedForEncodings = 0; 192 + knownRegions = ( 193 + en, 194 + Base, 195 + ); 196 + mainGroup = E7F53AB42EEDDB1B006E0F3F; 197 + minimizedProjectReferenceProxies = 1; 198 + preferredProjectObjectVersion = 77; 199 + productRefGroup = E7F53ABE2EEDDB1B006E0F3F /* Products */; 200 + projectDirPath = ""; 201 + projectRoot = ""; 202 + targets = ( 203 + E7F53ABC2EEDDB1B006E0F3F /* Rockbox */, 204 + E7F53ACA2EEDDB1C006E0F3F /* RockboxTests */, 205 + E7F53AD42EEDDB1C006E0F3F /* RockboxUITests */, 206 + ); 207 + }; 208 + /* End PBXProject section */ 209 + 210 + /* Begin PBXResourcesBuildPhase section */ 211 + E7F53ABB2EEDDB1B006E0F3F /* Resources */ = { 212 + isa = PBXResourcesBuildPhase; 213 + buildActionMask = 2147483647; 214 + files = ( 215 + ); 216 + runOnlyForDeploymentPostprocessing = 0; 217 + }; 218 + E7F53AC92EEDDB1C006E0F3F /* Resources */ = { 219 + isa = PBXResourcesBuildPhase; 220 + buildActionMask = 2147483647; 221 + files = ( 222 + ); 223 + runOnlyForDeploymentPostprocessing = 0; 224 + }; 225 + E7F53AD32EEDDB1C006E0F3F /* Resources */ = { 226 + isa = PBXResourcesBuildPhase; 227 + buildActionMask = 2147483647; 228 + files = ( 229 + ); 230 + runOnlyForDeploymentPostprocessing = 0; 231 + }; 232 + /* End PBXResourcesBuildPhase section */ 233 + 234 + /* Begin PBXSourcesBuildPhase section */ 235 + E7F53AB92EEDDB1B006E0F3F /* Sources */ = { 236 + isa = PBXSourcesBuildPhase; 237 + buildActionMask = 2147483647; 238 + files = ( 239 + ); 240 + runOnlyForDeploymentPostprocessing = 0; 241 + }; 242 + E7F53AC72EEDDB1C006E0F3F /* Sources */ = { 243 + isa = PBXSourcesBuildPhase; 244 + buildActionMask = 2147483647; 245 + files = ( 246 + ); 247 + runOnlyForDeploymentPostprocessing = 0; 248 + }; 249 + E7F53AD12EEDDB1C006E0F3F /* Sources */ = { 250 + isa = PBXSourcesBuildPhase; 251 + buildActionMask = 2147483647; 252 + files = ( 253 + ); 254 + runOnlyForDeploymentPostprocessing = 0; 255 + }; 256 + /* End PBXSourcesBuildPhase section */ 257 + 258 + /* Begin PBXTargetDependency section */ 259 + E7F53ACD2EEDDB1C006E0F3F /* PBXTargetDependency */ = { 260 + isa = PBXTargetDependency; 261 + target = E7F53ABC2EEDDB1B006E0F3F /* Rockbox */; 262 + targetProxy = E7F53ACC2EEDDB1C006E0F3F /* PBXContainerItemProxy */; 263 + }; 264 + E7F53AD72EEDDB1C006E0F3F /* PBXTargetDependency */ = { 265 + isa = PBXTargetDependency; 266 + target = E7F53ABC2EEDDB1B006E0F3F /* Rockbox */; 267 + targetProxy = E7F53AD62EEDDB1C006E0F3F /* PBXContainerItemProxy */; 268 + }; 269 + /* End PBXTargetDependency section */ 270 + 271 + /* Begin XCBuildConfiguration section */ 272 + E7F53ADD2EEDDB1C006E0F3F /* Debug */ = { 273 + isa = XCBuildConfiguration; 274 + buildSettings = { 275 + ALWAYS_SEARCH_USER_PATHS = NO; 276 + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 277 + CLANG_ANALYZER_NONNULL = YES; 278 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 279 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 280 + CLANG_ENABLE_MODULES = YES; 281 + CLANG_ENABLE_OBJC_ARC = YES; 282 + CLANG_ENABLE_OBJC_WEAK = YES; 283 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 284 + CLANG_WARN_BOOL_CONVERSION = YES; 285 + CLANG_WARN_COMMA = YES; 286 + CLANG_WARN_CONSTANT_CONVERSION = YES; 287 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 288 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 289 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 290 + CLANG_WARN_EMPTY_BODY = YES; 291 + CLANG_WARN_ENUM_CONVERSION = YES; 292 + CLANG_WARN_INFINITE_RECURSION = YES; 293 + CLANG_WARN_INT_CONVERSION = YES; 294 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 295 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 296 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 297 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 298 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 299 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 300 + CLANG_WARN_STRICT_PROTOTYPES = YES; 301 + CLANG_WARN_SUSPICIOUS_MOVE = YES; 302 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 303 + CLANG_WARN_UNREACHABLE_CODE = YES; 304 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 305 + COPY_PHASE_STRIP = NO; 306 + DEBUG_INFORMATION_FORMAT = dwarf; 307 + ENABLE_STRICT_OBJC_MSGSEND = YES; 308 + ENABLE_TESTABILITY = YES; 309 + ENABLE_USER_SCRIPT_SANDBOXING = YES; 310 + GCC_C_LANGUAGE_STANDARD = gnu17; 311 + GCC_DYNAMIC_NO_PIC = NO; 312 + GCC_NO_COMMON_BLOCKS = YES; 313 + GCC_OPTIMIZATION_LEVEL = 0; 314 + GCC_PREPROCESSOR_DEFINITIONS = ( 315 + "DEBUG=1", 316 + "$(inherited)", 317 + ); 318 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 319 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 320 + GCC_WARN_UNDECLARED_SELECTOR = YES; 321 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 322 + GCC_WARN_UNUSED_FUNCTION = YES; 323 + GCC_WARN_UNUSED_VARIABLE = YES; 324 + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; 325 + MACOSX_DEPLOYMENT_TARGET = 15.3; 326 + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 327 + MTL_FAST_MATH = YES; 328 + ONLY_ACTIVE_ARCH = YES; 329 + SDKROOT = macosx; 330 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; 331 + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 332 + }; 333 + name = Debug; 334 + }; 335 + E7F53ADE2EEDDB1C006E0F3F /* Release */ = { 336 + isa = XCBuildConfiguration; 337 + buildSettings = { 338 + ALWAYS_SEARCH_USER_PATHS = NO; 339 + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 340 + CLANG_ANALYZER_NONNULL = YES; 341 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 342 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 343 + CLANG_ENABLE_MODULES = YES; 344 + CLANG_ENABLE_OBJC_ARC = YES; 345 + CLANG_ENABLE_OBJC_WEAK = YES; 346 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 347 + CLANG_WARN_BOOL_CONVERSION = YES; 348 + CLANG_WARN_COMMA = YES; 349 + CLANG_WARN_CONSTANT_CONVERSION = YES; 350 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 351 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 352 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 353 + CLANG_WARN_EMPTY_BODY = YES; 354 + CLANG_WARN_ENUM_CONVERSION = YES; 355 + CLANG_WARN_INFINITE_RECURSION = YES; 356 + CLANG_WARN_INT_CONVERSION = YES; 357 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 358 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 359 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 360 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 361 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 362 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 363 + CLANG_WARN_STRICT_PROTOTYPES = YES; 364 + CLANG_WARN_SUSPICIOUS_MOVE = YES; 365 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 366 + CLANG_WARN_UNREACHABLE_CODE = YES; 367 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 368 + COPY_PHASE_STRIP = NO; 369 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 370 + ENABLE_NS_ASSERTIONS = NO; 371 + ENABLE_STRICT_OBJC_MSGSEND = YES; 372 + ENABLE_USER_SCRIPT_SANDBOXING = YES; 373 + GCC_C_LANGUAGE_STANDARD = gnu17; 374 + GCC_NO_COMMON_BLOCKS = YES; 375 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 376 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 377 + GCC_WARN_UNDECLARED_SELECTOR = YES; 378 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 379 + GCC_WARN_UNUSED_FUNCTION = YES; 380 + GCC_WARN_UNUSED_VARIABLE = YES; 381 + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; 382 + MACOSX_DEPLOYMENT_TARGET = 15.3; 383 + MTL_ENABLE_DEBUG_INFO = NO; 384 + MTL_FAST_MATH = YES; 385 + SDKROOT = macosx; 386 + SWIFT_COMPILATION_MODE = wholemodule; 387 + }; 388 + name = Release; 389 + }; 390 + E7F53AE02EEDDB1C006E0F3F /* Debug */ = { 391 + isa = XCBuildConfiguration; 392 + buildSettings = { 393 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 394 + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 395 + CODE_SIGN_ENTITLEMENTS = Rockbox/Rockbox.entitlements; 396 + CODE_SIGN_STYLE = Automatic; 397 + COMBINE_HIDPI_IMAGES = YES; 398 + CURRENT_PROJECT_VERSION = 1; 399 + ENABLE_PREVIEWS = YES; 400 + GENERATE_INFOPLIST_FILE = YES; 401 + INFOPLIST_KEY_NSHumanReadableCopyright = ""; 402 + LD_RUNPATH_SEARCH_PATHS = ( 403 + "$(inherited)", 404 + "@executable_path/../Frameworks", 405 + ); 406 + MARKETING_VERSION = 1.0; 407 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.Rockbox; 408 + PRODUCT_NAME = "$(TARGET_NAME)"; 409 + REGISTER_APP_GROUPS = YES; 410 + SWIFT_EMIT_LOC_STRINGS = YES; 411 + SWIFT_VERSION = 5.0; 412 + }; 413 + name = Debug; 414 + }; 415 + E7F53AE12EEDDB1C006E0F3F /* Release */ = { 416 + isa = XCBuildConfiguration; 417 + buildSettings = { 418 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 419 + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 420 + CODE_SIGN_ENTITLEMENTS = Rockbox/Rockbox.entitlements; 421 + CODE_SIGN_STYLE = Automatic; 422 + COMBINE_HIDPI_IMAGES = YES; 423 + CURRENT_PROJECT_VERSION = 1; 424 + ENABLE_PREVIEWS = YES; 425 + GENERATE_INFOPLIST_FILE = YES; 426 + INFOPLIST_KEY_NSHumanReadableCopyright = ""; 427 + LD_RUNPATH_SEARCH_PATHS = ( 428 + "$(inherited)", 429 + "@executable_path/../Frameworks", 430 + ); 431 + MARKETING_VERSION = 1.0; 432 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.Rockbox; 433 + PRODUCT_NAME = "$(TARGET_NAME)"; 434 + REGISTER_APP_GROUPS = YES; 435 + SWIFT_EMIT_LOC_STRINGS = YES; 436 + SWIFT_VERSION = 5.0; 437 + }; 438 + name = Release; 439 + }; 440 + E7F53AE32EEDDB1C006E0F3F /* Debug */ = { 441 + isa = XCBuildConfiguration; 442 + buildSettings = { 443 + BUNDLE_LOADER = "$(TEST_HOST)"; 444 + CODE_SIGN_STYLE = Automatic; 445 + CURRENT_PROJECT_VERSION = 1; 446 + GENERATE_INFOPLIST_FILE = YES; 447 + MACOSX_DEPLOYMENT_TARGET = 15.3; 448 + MARKETING_VERSION = 1.0; 449 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.RockboxTests; 450 + PRODUCT_NAME = "$(TARGET_NAME)"; 451 + SWIFT_EMIT_LOC_STRINGS = NO; 452 + SWIFT_VERSION = 5.0; 453 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Rockbox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Rockbox"; 454 + }; 455 + name = Debug; 456 + }; 457 + E7F53AE42EEDDB1C006E0F3F /* Release */ = { 458 + isa = XCBuildConfiguration; 459 + buildSettings = { 460 + BUNDLE_LOADER = "$(TEST_HOST)"; 461 + CODE_SIGN_STYLE = Automatic; 462 + CURRENT_PROJECT_VERSION = 1; 463 + GENERATE_INFOPLIST_FILE = YES; 464 + MACOSX_DEPLOYMENT_TARGET = 15.3; 465 + MARKETING_VERSION = 1.0; 466 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.RockboxTests; 467 + PRODUCT_NAME = "$(TARGET_NAME)"; 468 + SWIFT_EMIT_LOC_STRINGS = NO; 469 + SWIFT_VERSION = 5.0; 470 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Rockbox.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Rockbox"; 471 + }; 472 + name = Release; 473 + }; 474 + E7F53AE62EEDDB1C006E0F3F /* Debug */ = { 475 + isa = XCBuildConfiguration; 476 + buildSettings = { 477 + CODE_SIGN_STYLE = Automatic; 478 + CURRENT_PROJECT_VERSION = 1; 479 + GENERATE_INFOPLIST_FILE = YES; 480 + MARKETING_VERSION = 1.0; 481 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.RockboxUITests; 482 + PRODUCT_NAME = "$(TARGET_NAME)"; 483 + SWIFT_EMIT_LOC_STRINGS = NO; 484 + SWIFT_VERSION = 5.0; 485 + TEST_TARGET_NAME = Rockbox; 486 + }; 487 + name = Debug; 488 + }; 489 + E7F53AE72EEDDB1C006E0F3F /* Release */ = { 490 + isa = XCBuildConfiguration; 491 + buildSettings = { 492 + CODE_SIGN_STYLE = Automatic; 493 + CURRENT_PROJECT_VERSION = 1; 494 + GENERATE_INFOPLIST_FILE = YES; 495 + MARKETING_VERSION = 1.0; 496 + PRODUCT_BUNDLE_IDENTIFIER = com.github.tsirysndr.RockboxUITests; 497 + PRODUCT_NAME = "$(TARGET_NAME)"; 498 + SWIFT_EMIT_LOC_STRINGS = NO; 499 + SWIFT_VERSION = 5.0; 500 + TEST_TARGET_NAME = Rockbox; 501 + }; 502 + name = Release; 503 + }; 504 + /* End XCBuildConfiguration section */ 505 + 506 + /* Begin XCConfigurationList section */ 507 + E7F53AB82EEDDB1B006E0F3F /* Build configuration list for PBXProject "Rockbox" */ = { 508 + isa = XCConfigurationList; 509 + buildConfigurations = ( 510 + E7F53ADD2EEDDB1C006E0F3F /* Debug */, 511 + E7F53ADE2EEDDB1C006E0F3F /* Release */, 512 + ); 513 + defaultConfigurationIsVisible = 0; 514 + defaultConfigurationName = Release; 515 + }; 516 + E7F53ADF2EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "Rockbox" */ = { 517 + isa = XCConfigurationList; 518 + buildConfigurations = ( 519 + E7F53AE02EEDDB1C006E0F3F /* Debug */, 520 + E7F53AE12EEDDB1C006E0F3F /* Release */, 521 + ); 522 + defaultConfigurationIsVisible = 0; 523 + defaultConfigurationName = Release; 524 + }; 525 + E7F53AE22EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "RockboxTests" */ = { 526 + isa = XCConfigurationList; 527 + buildConfigurations = ( 528 + E7F53AE32EEDDB1C006E0F3F /* Debug */, 529 + E7F53AE42EEDDB1C006E0F3F /* Release */, 530 + ); 531 + defaultConfigurationIsVisible = 0; 532 + defaultConfigurationName = Release; 533 + }; 534 + E7F53AE52EEDDB1C006E0F3F /* Build configuration list for PBXNativeTarget "RockboxUITests" */ = { 535 + isa = XCConfigurationList; 536 + buildConfigurations = ( 537 + E7F53AE62EEDDB1C006E0F3F /* Debug */, 538 + E7F53AE72EEDDB1C006E0F3F /* Release */, 539 + ); 540 + defaultConfigurationIsVisible = 0; 541 + defaultConfigurationName = Release; 542 + }; 543 + /* End XCConfigurationList section */ 544 + }; 545 + rootObject = E7F53AB52EEDDB1B006E0F3F /* Project object */; 546 + }
+7
macos/Rockbox.xcodeproj/project.xcworkspace/contents.xcworkspacedata
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <Workspace 3 + version = "1.0"> 4 + <FileRef 5 + location = "self:"> 6 + </FileRef> 7 + </Workspace>
macos/Rockbox.xcodeproj/project.xcworkspace/xcuserdata/tsirysandratraina.xcuserdatad/UserInterfaceState.xcuserstate

This is a binary file and will not be displayed.

+14
macos/Rockbox.xcodeproj/xcuserdata/tsirysandratraina.xcuserdatad/xcschemes/xcschememanagement.plist
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>SchemeUserState</key> 6 + <dict> 7 + <key>Rockbox.xcscheme_^#shared#^_</key> 8 + <dict> 9 + <key>orderHint</key> 10 + <integer>0</integer> 11 + </dict> 12 + </dict> 13 + </dict> 14 + </plist>
+11
macos/Rockbox/Assets.xcassets/AccentColor.colorset/Contents.json
··· 1 + { 2 + "colors" : [ 3 + { 4 + "idiom" : "universal" 5 + } 6 + ], 7 + "info" : { 8 + "author" : "xcode", 9 + "version" : 1 10 + } 11 + }
+58
macos/Rockbox/Assets.xcassets/AppIcon.appiconset/Contents.json
··· 1 + { 2 + "images" : [ 3 + { 4 + "idiom" : "mac", 5 + "scale" : "1x", 6 + "size" : "16x16" 7 + }, 8 + { 9 + "idiom" : "mac", 10 + "scale" : "2x", 11 + "size" : "16x16" 12 + }, 13 + { 14 + "idiom" : "mac", 15 + "scale" : "1x", 16 + "size" : "32x32" 17 + }, 18 + { 19 + "idiom" : "mac", 20 + "scale" : "2x", 21 + "size" : "32x32" 22 + }, 23 + { 24 + "idiom" : "mac", 25 + "scale" : "1x", 26 + "size" : "128x128" 27 + }, 28 + { 29 + "idiom" : "mac", 30 + "scale" : "2x", 31 + "size" : "128x128" 32 + }, 33 + { 34 + "idiom" : "mac", 35 + "scale" : "1x", 36 + "size" : "256x256" 37 + }, 38 + { 39 + "idiom" : "mac", 40 + "scale" : "2x", 41 + "size" : "256x256" 42 + }, 43 + { 44 + "idiom" : "mac", 45 + "scale" : "1x", 46 + "size" : "512x512" 47 + }, 48 + { 49 + "idiom" : "mac", 50 + "scale" : "2x", 51 + "size" : "512x512" 52 + } 53 + ], 54 + "info" : { 55 + "author" : "xcode", 56 + "version" : 1 57 + } 58 + }
+6
macos/Rockbox/Assets.xcassets/Contents.json
··· 1 + { 2 + "info" : { 3 + "author" : "xcode", 4 + "version" : 1 5 + } 6 + }
+79
macos/Rockbox/ContentView.swift
··· 1 + // 2 + // ContentView.swift 3 + // Rockbox 4 + // 5 + // Created by Tsiry Sandratraina on 13/12/2025. 6 + // 7 + 8 + import SwiftUI 9 + 10 + struct ContentView: View { 11 + @State private var selection: SidebarItem? = .library 12 + 13 + var body: some View { 14 + NavigationSplitView { 15 + Sidebar(selection: $selection) 16 + } detail: { 17 + DetailView(selection: selection) 18 + } 19 + } 20 + } 21 + 22 + enum SidebarItem: String, CaseIterable, Identifiable { 23 + case library = "Library" 24 + case recentlyAdded = "Recently Added" 25 + case artists = "Artists" 26 + case albums = "Albums" 27 + case songs = "Songs" 28 + case playlists = "Playlists" 29 + 30 + var id: String { rawValue } 31 + 32 + var icon: String { 33 + switch self { 34 + case .library: return "music.note.house" 35 + case .recentlyAdded: return "clock" 36 + case .artists: return "music.mic" 37 + case .albums: return "square.stack" 38 + case .songs: return "music.note" 39 + case .playlists: return "music.note.list" 40 + } 41 + } 42 + } 43 + 44 + struct Sidebar: View { 45 + @Binding var selection: SidebarItem? 46 + 47 + var body: some View { 48 + List(selection: $selection) { 49 + Section("Library") { 50 + ForEach(SidebarItem.allCases) { item in 51 + Label(item.rawValue, systemImage: item.icon) 52 + .tag(item) 53 + } 54 + } 55 + } 56 + .navigationTitle("Rockbox") 57 + .listStyle(.sidebar) 58 + } 59 + } 60 + 61 + struct DetailView: View { 62 + let selection: SidebarItem? 63 + 64 + var body: some View { 65 + if let selection { 66 + Text(selection.rawValue) 67 + .font(.largeTitle) 68 + .frame(maxWidth: .infinity, maxHeight: .infinity) 69 + } else { 70 + Text("Select an item") 71 + .foregroundStyle(.secondary) 72 + } 73 + } 74 + } 75 + 76 + #Preview { 77 + ContentView() 78 + } 79 +
+10
macos/Rockbox/Rockbox.entitlements
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>com.apple.security.app-sandbox</key> 6 + <true/> 7 + <key>com.apple.security.files.user-selected.read-only</key> 8 + <true/> 9 + </dict> 10 + </plist>
+17
macos/Rockbox/RockboxApp.swift
··· 1 + // 2 + // RockboxApp.swift 3 + // Rockbox 4 + // 5 + // Created by Tsiry Sandratraina on 13/12/2025. 6 + // 7 + 8 + import SwiftUI 9 + 10 + @main 11 + struct RockboxApp: App { 12 + var body: some Scene { 13 + WindowGroup { 14 + ContentView() 15 + } 16 + } 17 + }
+17
macos/RockboxTests/RockboxTests.swift
··· 1 + // 2 + // RockboxTests.swift 3 + // RockboxTests 4 + // 5 + // Created by Tsiry Sandratraina on 13/12/2025. 6 + // 7 + 8 + import Testing 9 + @testable import Rockbox 10 + 11 + struct RockboxTests { 12 + 13 + @Test func example() async throws { 14 + // Write your test here and use APIs like `#expect(...)` to check expected conditions. 15 + } 16 + 17 + }
+41
macos/RockboxUITests/RockboxUITests.swift
··· 1 + // 2 + // RockboxUITests.swift 3 + // RockboxUITests 4 + // 5 + // Created by Tsiry Sandratraina on 13/12/2025. 6 + // 7 + 8 + import XCTest 9 + 10 + final class RockboxUITests: XCTestCase { 11 + 12 + override func setUpWithError() throws { 13 + // Put setup code here. This method is called before the invocation of each test method in the class. 14 + 15 + // In UI tests it is usually best to stop immediately when a failure occurs. 16 + continueAfterFailure = false 17 + 18 + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 19 + } 20 + 21 + override func tearDownWithError() throws { 22 + // Put teardown code here. This method is called after the invocation of each test method in the class. 23 + } 24 + 25 + @MainActor 26 + func testExample() throws { 27 + // UI tests must launch the application that they test. 28 + let app = XCUIApplication() 29 + app.launch() 30 + 31 + // Use XCTAssert and related functions to verify your tests produce the correct results. 32 + } 33 + 34 + @MainActor 35 + func testLaunchPerformance() throws { 36 + // This measures how long it takes to launch your application. 37 + measure(metrics: [XCTApplicationLaunchMetric()]) { 38 + XCUIApplication().launch() 39 + } 40 + } 41 + }
+33
macos/RockboxUITests/RockboxUITestsLaunchTests.swift
··· 1 + // 2 + // RockboxUITestsLaunchTests.swift 3 + // RockboxUITests 4 + // 5 + // Created by Tsiry Sandratraina on 13/12/2025. 6 + // 7 + 8 + import XCTest 9 + 10 + final class RockboxUITestsLaunchTests: XCTestCase { 11 + 12 + override class var runsForEachTargetApplicationUIConfiguration: Bool { 13 + true 14 + } 15 + 16 + override func setUpWithError() throws { 17 + continueAfterFailure = false 18 + } 19 + 20 + @MainActor 21 + func testLaunch() throws { 22 + let app = XCUIApplication() 23 + app.launch() 24 + 25 + // Insert steps here to perform after app launch but before taking a screenshot, 26 + // such as logging into a test account or navigating somewhere in the app 27 + 28 + let attachment = XCTAttachment(screenshot: app.screenshot()) 29 + attachment.name = "Launch Screen" 30 + attachment.lifetime = .keepAlways 31 + add(attachment) 32 + } 33 + }