From 4b14d06bc8d38e25cdc0f04a66a61e897c82c7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20F=C3=B6rtsch?= Date: Tue, 10 Feb 2026 12:08:04 +0100 Subject: [PATCH] initial prototype: synced mp3 playback --- .gitignore | 20 + CoopRunning.xcodeproj/project.pbxproj | 480 ++++++++++++++++++ .../xcschemes/CoopRunning.xcscheme | 102 ++++ .../contents.xcworkspacedata | 7 + CoopRunning/AppModel.swift | 242 +++++++++ .../AppIcon.appiconset/Contents.json | 74 +++ .../AppIcon.appiconset/Icon-1024.png | Bin 0 -> 157953 bytes .../AppIcon.appiconset/Icon-20@2x.png | Bin 0 -> 3763 bytes .../AppIcon.appiconset/Icon-20@3x.png | Bin 0 -> 8382 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 0 -> 7778 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 0 -> 17836 bytes .../AppIcon.appiconset/Icon-40@2x.png | Bin 0 -> 15464 bytes .../AppIcon.appiconset/Icon-40@3x.png | Bin 0 -> 30224 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 0 -> 30224 bytes .../AppIcon.appiconset/Icon-60@3x.png | Bin 0 -> 34200 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 0 -> 34332 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 0 -> 34917 bytes CoopRunning/Assets.xcassets/Contents.json | 6 + CoopRunning/AudioPlayerController.swift | 129 +++++ CoopRunning/ContentView.swift | 160 ++++++ CoopRunning/CoopRunningApp.swift | 13 + CoopRunning/Info.plist | 43 ++ CoopRunning/LaunchScreen.storyboard | 29 ++ CoopRunning/LocalTrack.swift | 70 +++ CoopRunning/PeerSession.swift | 162 ++++++ CoopRunning/SessionMessage.swift | 119 +++++ CoopRunning/SyncClock.swift | 17 + CoopRunningTests/CoopRunningTests.swift | 9 + README.md | 20 + project.yml | 82 +++ 30 files changed, 1784 insertions(+) create mode 100644 .gitignore create mode 100644 CoopRunning.xcodeproj/project.pbxproj create mode 100644 CoopRunning.xcodeproj/xcshareddata/xcschemes/CoopRunning.xcscheme create mode 100644 CoopRunning.xcworkspace/contents.xcworkspacedata create mode 100644 CoopRunning/AppModel.swift create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-1024.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-20@2x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-29@2x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png create mode 100644 CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png create mode 100644 CoopRunning/Assets.xcassets/Contents.json create mode 100644 CoopRunning/AudioPlayerController.swift create mode 100644 CoopRunning/ContentView.swift create mode 100644 CoopRunning/CoopRunningApp.swift create mode 100644 CoopRunning/Info.plist create mode 100644 CoopRunning/LaunchScreen.storyboard create mode 100644 CoopRunning/LocalTrack.swift create mode 100644 CoopRunning/PeerSession.swift create mode 100644 CoopRunning/SessionMessage.swift create mode 100644 CoopRunning/SyncClock.swift create mode 100644 CoopRunningTests/CoopRunningTests.swift create mode 100644 README.md create mode 100644 project.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..54fb563 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +.DS_Store +xcuserdata/ +*.xcuserstate +DerivedData/ + +# SwiftPM +.build/ + +# CocoaPods +Pods/ + +# Carthage +Carthage/Build/ + +# Xcode +*.xcworkspace/xcuserdata/ +*.xcodeproj/xcuserdata/ + +# Logs +*.log diff --git a/CoopRunning.xcodeproj/project.pbxproj b/CoopRunning.xcodeproj/project.pbxproj new file mode 100644 index 0000000..dab3c26 --- /dev/null +++ b/CoopRunning.xcodeproj/project.pbxproj @@ -0,0 +1,480 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXBuildFile section */ + 1C5A896A43530D81174546BA /* CoopRunningTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7972CAD1B5B5FB6F3CBB4DC /* CoopRunningTests.swift */; }; + 2DDFF6B9DA48824AB7E348F4 /* SessionMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 989EE81E50A74AADB156B2F1 /* SessionMessage.swift */; }; + 4CC684E41D1241CE42FD7348 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0C06EA24EED7898D3555276 /* ContentView.swift */; }; + 5A81A364169B5FCD120F61FC /* PeerSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02763B5D5452C1CC1B93FD2B /* PeerSession.swift */; }; + 7D7B85F058BAFB619CCCE687 /* SyncClock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E882038912A0EC724092D5C /* SyncClock.swift */; }; + 8CB2509F6A60D8C785CD8F5F /* CoopRunningApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF044E360A40EA66C3AFE6AB /* CoopRunningApp.swift */; }; + A0AA73D0AF4BDA2998897899 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 62CACEE84EEBE1E90C04433F /* LaunchScreen.storyboard */; }; + A7E26605A0C2D722889DC978 /* AudioPlayerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3135CEE034E1997695E141E /* AudioPlayerController.swift */; }; + BE79C4ECF76C74CA638B5E71 /* AppModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE69B1849CC70C66B4408E8D /* AppModel.swift */; }; + D3F24682D211B5C8C703480A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0570D4F6BB0BB408E8A9A864 /* Assets.xcassets */; }; + FBAD30B2745B7850ADC0BD10 /* LocalTrack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B84A69F8BDB61FB49066A1 /* LocalTrack.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + D6C6FD151E41BF7E8F592C82 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 45108C7370BA21AEC5D4E16A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6D8086D1FAEE224EF0BE91DB; + remoteInfo = CoopRunning; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 02763B5D5452C1CC1B93FD2B /* PeerSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerSession.swift; sourceTree = ""; }; + 0570D4F6BB0BB408E8A9A864 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 0E882038912A0EC724092D5C /* SyncClock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncClock.swift; sourceTree = ""; }; + 62CACEE84EEBE1E90C04433F /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; + 642EFFBEF3D3144895D7F64A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 82B84A69F8BDB61FB49066A1 /* LocalTrack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalTrack.swift; sourceTree = ""; }; + 955DE601980D43FC20175212 /* CoopRunningTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = CoopRunningTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 989EE81E50A74AADB156B2F1 /* SessionMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionMessage.swift; sourceTree = ""; }; + A0C06EA24EED7898D3555276 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + B7972CAD1B5B5FB6F3CBB4DC /* CoopRunningTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoopRunningTests.swift; sourceTree = ""; }; + BE69B1849CC70C66B4408E8D /* AppModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppModel.swift; sourceTree = ""; }; + E3135CEE034E1997695E141E /* AudioPlayerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayerController.swift; sourceTree = ""; }; + ED1954343D7F24F4CE237989 /* CoopRunning.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = CoopRunning.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FF044E360A40EA66C3AFE6AB /* CoopRunningApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoopRunningApp.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 0BCFD2D05DA713EECDE3A555 /* CoopRunning */ = { + isa = PBXGroup; + children = ( + BE69B1849CC70C66B4408E8D /* AppModel.swift */, + 0570D4F6BB0BB408E8A9A864 /* Assets.xcassets */, + E3135CEE034E1997695E141E /* AudioPlayerController.swift */, + A0C06EA24EED7898D3555276 /* ContentView.swift */, + FF044E360A40EA66C3AFE6AB /* CoopRunningApp.swift */, + 642EFFBEF3D3144895D7F64A /* Info.plist */, + 62CACEE84EEBE1E90C04433F /* LaunchScreen.storyboard */, + 82B84A69F8BDB61FB49066A1 /* LocalTrack.swift */, + 02763B5D5452C1CC1B93FD2B /* PeerSession.swift */, + 989EE81E50A74AADB156B2F1 /* SessionMessage.swift */, + 0E882038912A0EC724092D5C /* SyncClock.swift */, + ); + path = CoopRunning; + sourceTree = ""; + }; + 6F5BDF622927472CD32D0CD8 = { + isa = PBXGroup; + children = ( + 0BCFD2D05DA713EECDE3A555 /* CoopRunning */, + 927D95C70CE5ED7ADB2C3F20 /* CoopRunningTests */, + CBC491D93FB088E0E6148B1A /* Products */, + ); + sourceTree = ""; + }; + 927D95C70CE5ED7ADB2C3F20 /* CoopRunningTests */ = { + isa = PBXGroup; + children = ( + B7972CAD1B5B5FB6F3CBB4DC /* CoopRunningTests.swift */, + ); + path = CoopRunningTests; + sourceTree = ""; + }; + CBC491D93FB088E0E6148B1A /* Products */ = { + isa = PBXGroup; + children = ( + ED1954343D7F24F4CE237989 /* CoopRunning.app */, + 955DE601980D43FC20175212 /* CoopRunningTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 6D8086D1FAEE224EF0BE91DB /* CoopRunning */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5E860FBA956CBCBD03474441 /* Build configuration list for PBXNativeTarget "CoopRunning" */; + buildPhases = ( + D35AAFE1ED99AD91623FC374 /* Sources */, + 04C5D543DEB4F3CC401E7D42 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CoopRunning; + packageProductDependencies = ( + ); + productName = CoopRunning; + productReference = ED1954343D7F24F4CE237989 /* CoopRunning.app */; + productType = "com.apple.product-type.application"; + }; + 7176FDC3954B3226DB5DEE48 /* CoopRunningTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2322A6CDF4FC2AE59DD780B1 /* Build configuration list for PBXNativeTarget "CoopRunningTests" */; + buildPhases = ( + A54C28822F541CFCD33553AE /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + 6D8868D6D8F73E641CA58B0F /* PBXTargetDependency */, + ); + name = CoopRunningTests; + packageProductDependencies = ( + ); + productName = CoopRunningTests; + productReference = 955DE601980D43FC20175212 /* CoopRunningTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 45108C7370BA21AEC5D4E16A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; + TargetAttributes = { + 6D8086D1FAEE224EF0BE91DB = { + DevelopmentTeam = NG5W75WE8U; + ProvisioningStyle = Automatic; + }; + 7176FDC3954B3226DB5DEE48 = { + DevelopmentTeam = NG5W75WE8U; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 3BCFE323CCC2757AAFD6F452 /* Build configuration list for PBXProject "CoopRunning" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = 6F5BDF622927472CD32D0CD8; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 6D8086D1FAEE224EF0BE91DB /* CoopRunning */, + 7176FDC3954B3226DB5DEE48 /* CoopRunningTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 04C5D543DEB4F3CC401E7D42 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D3F24682D211B5C8C703480A /* Assets.xcassets in Resources */, + A0AA73D0AF4BDA2998897899 /* LaunchScreen.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + A54C28822F541CFCD33553AE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1C5A896A43530D81174546BA /* CoopRunningTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D35AAFE1ED99AD91623FC374 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BE79C4ECF76C74CA638B5E71 /* AppModel.swift in Sources */, + A7E26605A0C2D722889DC978 /* AudioPlayerController.swift in Sources */, + 4CC684E41D1241CE42FD7348 /* ContentView.swift in Sources */, + 8CB2509F6A60D8C785CD8F5F /* CoopRunningApp.swift in Sources */, + FBAD30B2745B7850ADC0BD10 /* LocalTrack.swift in Sources */, + 5A81A364169B5FCD120F61FC /* PeerSession.swift in Sources */, + 2DDFF6B9DA48824AB7E348F4 /* SessionMessage.swift in Sources */, + 7D7B85F058BAFB619CCCE687 /* SyncClock.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 6D8868D6D8F73E641CA58B0F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6D8086D1FAEE224EF0BE91DB /* CoopRunning */; + targetProxy = D6C6FD151E41BF7E8F592C82 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 2A934AD016F05C8A94BF4DA8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_STRING_CATALOGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoopRunning.app/CoopRunning"; + }; + name = Debug; + }; + 5FDDE7CAF9D800EFEF79CEAB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + INFOPLIST_FILE = CoopRunning/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + PRODUCT_NAME = CoopRunning; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_STRING_CATALOGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 84DDC04A355E486EE89AC7F8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_STRING_CATALOGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoopRunning.app/CoopRunning"; + }; + name = Release; + }; + B10B4E0B66978D394F8DD3C9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + INFOPLIST_FILE = CoopRunning/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + PRODUCT_NAME = CoopRunning; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_STRING_CATALOGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + DE756993C972E7F7EDB4067D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_ASSET_PATHS = ""; + DEVELOPMENT_TEAM = NG5W75WE8U; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "DEBUG=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = CoopRunning/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + MARKETING_VERSION = 0.1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = de.felixfoertsch.cooprunning; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_STRING_CATALOGS = YES; + SWIFT_VERSION = 5.9; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + F630219557065594A62AFA33 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_ASSET_PATHS = ""; + DEVELOPMENT_TEAM = NG5W75WE8U; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_INFOPLIST_FILE = NO; + INFOPLIST_FILE = CoopRunning/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LOCALIZED_STRING_SWIFT_SYMBOLS = YES; + MARKETING_VERSION = 0.1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = de.felixfoertsch.cooprunning; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_STRING_CATALOGS = YES; + SWIFT_VERSION = 5.9; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2322A6CDF4FC2AE59DD780B1 /* Build configuration list for PBXNativeTarget "CoopRunningTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2A934AD016F05C8A94BF4DA8 /* Debug */, + 84DDC04A355E486EE89AC7F8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3BCFE323CCC2757AAFD6F452 /* Build configuration list for PBXProject "CoopRunning" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE756993C972E7F7EDB4067D /* Debug */, + F630219557065594A62AFA33 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 5E860FBA956CBCBD03474441 /* Build configuration list for PBXNativeTarget "CoopRunning" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B10B4E0B66978D394F8DD3C9 /* Debug */, + 5FDDE7CAF9D800EFEF79CEAB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 45108C7370BA21AEC5D4E16A /* Project object */; +} diff --git a/CoopRunning.xcodeproj/xcshareddata/xcschemes/CoopRunning.xcscheme b/CoopRunning.xcodeproj/xcshareddata/xcschemes/CoopRunning.xcscheme new file mode 100644 index 0000000..ee2494b --- /dev/null +++ b/CoopRunning.xcodeproj/xcshareddata/xcschemes/CoopRunning.xcscheme @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CoopRunning.xcworkspace/contents.xcworkspacedata b/CoopRunning.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..619a0db --- /dev/null +++ b/CoopRunning.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/CoopRunning/AppModel.swift b/CoopRunning/AppModel.swift new file mode 100644 index 0000000..04c1a79 --- /dev/null +++ b/CoopRunning/AppModel.swift @@ -0,0 +1,242 @@ +import Foundation +import Combine + +final class AppModel: ObservableObject { + @Published var role: SessionRole = .idle + @Published var isConnected: Bool = false + @Published var peers: [PeerInfo] = [] + @Published var statusText: String = "Not connected" + + @Published var library: [LocalTrack] = [] + @Published var selectedTrack: LocalTrack? = nil + + @Published var isPlaying: Bool = false + @Published var playbackPosition: TimeInterval = 0 + + private let audio = AudioPlayerController() + private let session = PeerSession() + private var cancellables: Set = [] + private var driftTimer: Timer? + private var pendingTrackNames: [String: String] = [:] + private var pendingPlay: SyncPlayPayload? = nil + + init() { + Task { [weak self] in + guard let self else { return } + let loaded = await LocalTrack.loadLibrary() + await MainActor.run { + self.library = loaded + self.selectedTrack = loaded.first + } + } + + session.$peers + .receive(on: DispatchQueue.main) + .assign(to: &$peers) + + session.$isConnected + .receive(on: DispatchQueue.main) + .sink { [weak self] connected in + self?.isConnected = connected + if connected && self?.role == .host { + self?.syncNow() + } + } + .store(in: &cancellables) + + session.$statusText + .receive(on: DispatchQueue.main) + .assign(to: &$statusText) + + audio.$isPlaying + .receive(on: DispatchQueue.main) + .assign(to: &$isPlaying) + + audio.$playbackPosition + .receive(on: DispatchQueue.main) + .assign(to: &$playbackPosition) + + session.onMessage = { [weak self] message in + self?.handle(message: message) + } + session.onReceiveResource = { [weak self] name, url in + self?.handleResource(name: name, url: url) + } + } + + func host() { + role = .host + session.startHosting() + } + + func join() { + role = .peer + session.startJoining() + } + + func stop() { + role = .idle + session.stop() + audio.stop() + stopDriftTimer() + } + + func importTrack(url: URL) throws { + Task { [weak self] in + guard let self else { return } + do { + let newTrack = try await LocalTrack.importTrack(from: url) + let loaded = await LocalTrack.loadLibrary() + await MainActor.run { + self.library = loaded + self.selectedTrack = newTrack + } + } catch { + await MainActor.run { + self.statusText = "Import failed: \(error.localizedDescription)" + } + } + } + } + + func select(track: LocalTrack) { + selectedTrack = track + } + + func togglePlay() { + guard let track = selectedTrack else { return } + + if role == .host { + if audio.isPlaying { + audio.pause() + session.broadcast(.pause) + stopDriftTimer() + } else { + // Schedule a shared future start time to align peers. + let startDelay: TimeInterval = 2.0 + let startUptime = SyncClock.uptime() + startDelay + let payload = SyncPlayPayload( + trackID: track.id.uuidString, + startUptime: startUptime, + startPosition: audio.playbackPosition + ) + session.broadcast(.play(payload)) + audio.play(track: track, atUptime: startUptime, startPosition: audio.playbackPosition) + startDriftTimer() + } + } + } + + func seek(to position: TimeInterval) { + guard selectedTrack != nil else { return } + audio.seek(to: position) + + if role == .host { + session.broadcast(.seek(position)) + } + } + + func syncNow() { + guard role == .host else { return } + session.broadcast(.syncRequest(SyncClock.uptime())) + } + + func sendTrackToPeers() { + guard role == .host, let track = selectedTrack else { return } + session.sendTrack(track) + } + + private func handle(message: SessionMessage) { + switch message { + case .hello: + return + case .libraryRequest: + return + case .trackInfo(let info): + pendingTrackNames[info.trackID] = info.displayName + case .trackRequest(let trackID): + guard role == .host else { return } + if let track = library.first(where: { $0.id.uuidString == trackID }) { + session.sendTrack(track) + } + case .play(let payload): + guard role == .peer else { return } + if let track = library.first(where: { $0.id.uuidString == payload.trackID }) { + selectedTrack = track + let localStart = SyncClock.convert(hostUptime: payload.startUptime) + audio.play(track: track, atUptime: localStart, startPosition: payload.startPosition) + } else { + pendingPlay = payload + session.broadcast(.trackRequest(payload.trackID)) + statusText = "Missing track. Requested from host." + } + case .pause: + guard role == .peer else { return } + audio.pause() + case .seek(let position): + guard role == .peer else { return } + audio.seek(to: position) + case .syncRequest(let hostUptime): + guard role == .peer else { return } + session.reply(.syncResponse(hostUptime: hostUptime, peerUptime: SyncClock.uptime())) + case .syncResponse(let hostUptime, let peerUptime): + guard role == .host else { return } + session.updateOffset(hostUptime: hostUptime, peerUptime: peerUptime) + case .driftCorrection(let position, let hostUptime): + guard role == .peer else { return } + audio.correctDrift(targetPosition: position, hostUptime: hostUptime) + } + } + + private func handleResource(name: String, url: URL) { + guard name.hasPrefix("track:") else { return } + let trackID = String(name.dropFirst("track:".count)) + let displayName = pendingTrackNames[trackID] ?? "Track" + Task { [weak self] in + guard let self else { return } + do { + let newTrack = try await LocalTrack.importReceivedTrack(from: url, trackID: trackID, displayName: displayName) + let loaded = await LocalTrack.loadLibrary() + await MainActor.run { + self.library = loaded + self.selectedTrack = newTrack + self.statusText = "Received track: \(displayName)" + if let pending = self.pendingPlay, pending.trackID == trackID { + let localStart = SyncClock.convert(hostUptime: pending.startUptime) + self.audio.play(track: newTrack, atUptime: localStart, startPosition: pending.startPosition) + self.pendingPlay = nil + } + } + } catch { + await MainActor.run { + self.statusText = "Import failed: \(error.localizedDescription)" + } + } + } + } + + private func startDriftTimer() { + stopDriftTimer() + driftTimer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in + guard let self, self.role == .host else { return } + let payload = (self.audio.playbackPosition, SyncClock.uptime()) + self.session.broadcast(.driftCorrection(position: payload.0, hostUptime: payload.1)) + } + } + + private func stopDriftTimer() { + driftTimer?.invalidate() + driftTimer = nil + } +} + +enum SessionRole: String { + case idle + case host + case peer +} + +struct PeerInfo: Identifiable, Hashable { + let id: String + let name: String +} diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Contents.json b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..dac9c05 --- /dev/null +++ b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,74 @@ +{ + "images" : [ + { + "filename" : "Icon-20@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-20@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "Icon-29@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-40@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-40@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "Icon-60@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "Icon-60@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "Icon-76@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "Icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-1024.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..1618f8de39e03f3f0243edfa2df4bf4cc2d61666 GIT binary patch literal 157953 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%0Aj*NmU#3rzk-=>% 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 literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..11ba84f03ea752989133e1f35d40c1ae264564ce GIT binary patch literal 8382 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 literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1d43278e09faa96c394d9a30745444c7797fa0 GIT binary patch literal 17836 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 P00000NkvXXu0mjfBU>#j literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a7468f199fe33ed1b5854ccebd4581f24fdc8864 GIT binary patch literal 15464 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 b)6oA3qJ%mb%}b^a+;_a7#Q?+FVW%Ckb{Jj;=V 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 z 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 literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d02420ccc859c7e8165e88638ad0128284251857 GIT binary patch literal 34332 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 literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/CoopRunning/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..536b011c5a2741bfebcc2b028863f1e8eab1f791 GIT binary patch literal 34917 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 literal 0 HcmV?d00001 diff --git a/CoopRunning/Assets.xcassets/Contents.json b/CoopRunning/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/CoopRunning/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CoopRunning/AudioPlayerController.swift b/CoopRunning/AudioPlayerController.swift new file mode 100644 index 0000000..425044b --- /dev/null +++ b/CoopRunning/AudioPlayerController.swift @@ -0,0 +1,129 @@ +import Foundation +import AVFoundation +import Darwin + +final class AudioPlayerController: NSObject, ObservableObject { + @Published private(set) var isPlaying: Bool = false + @Published private(set) var playbackPosition: TimeInterval = 0 + + private let engine = AVAudioEngine() + private let playerNode = AVAudioPlayerNode() + private var audioFile: AVAudioFile? + private var progressTimer: Timer? + private var didConfigureSession = false + + private var currentTrack: LocalTrack? + private var scheduleStartPosition: TimeInterval = 0 + + override init() { + super.init() + engine.attach(playerNode) + engine.connect(playerNode, to: engine.mainMixerNode, format: nil) + } + + func play(track: LocalTrack, atUptime startUptime: TimeInterval, startPosition: TimeInterval) { + configureAudioSessionIfNeeded() + + do { + let file = try AVAudioFile(forReading: track.url) + audioFile = file + currentTrack = track + scheduleStartPosition = startPosition + + let startFrame = AVAudioFramePosition(startPosition * file.fileFormat.sampleRate) + let totalFrames = file.length + let framesLeft = max(AVAudioFrameCount(totalFrames - startFrame), 0) + + if !engine.isRunning { + try engine.start() + } + + playerNode.stop() + playerNode.scheduleSegment( + file, + startingFrame: startFrame, + frameCount: framesLeft, + at: AVAudioTime(hostTime: hostTime(forUptime: startUptime)) + ) { [weak self] in + DispatchQueue.main.async { + self?.isPlaying = false + self?.stopProgressTimer() + } + } + + if !playerNode.isPlaying { + playerNode.play() + } + + isPlaying = true + startProgressTimer() + } catch { + isPlaying = false + } + } + + func pause() { + playerNode.pause() + isPlaying = false + stopProgressTimer() + } + + func stop() { + playerNode.stop() + isPlaying = false + playbackPosition = 0 + stopProgressTimer() + } + + func seek(to position: TimeInterval) { + guard let track = currentTrack else { return } + play(track: track, atUptime: SyncClock.uptime() + 0.1, startPosition: position) + } + + func correctDrift(targetPosition: TimeInterval, hostUptime: TimeInterval) { + guard let track = currentTrack else { return } + let targetNow = SyncClock.convert(hostUptime: hostUptime) + let expectedPosition = targetPosition + (SyncClock.uptime() - targetNow) + let drift = expectedPosition - playbackPosition + if abs(drift) > 0.15 { + play(track: track, atUptime: SyncClock.uptime() + 0.1, startPosition: expectedPosition) + } + } + + private func startProgressTimer() { + stopProgressTimer() + progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { [weak self] _ in + guard let self else { return } + if let nodeTime = self.playerNode.lastRenderTime, + let playerTime = self.playerNode.playerTime(forNodeTime: nodeTime) { + let seconds = Double(playerTime.sampleTime) / playerTime.sampleRate + self.playbackPosition = self.scheduleStartPosition + seconds + self.isPlaying = self.playerNode.isPlaying + } + } + } + + private func stopProgressTimer() { + progressTimer?.invalidate() + progressTimer = nil + } + + private func configureAudioSessionIfNeeded() { + guard !didConfigureSession else { return } + do { + let session = AVAudioSession.sharedInstance() + try session.setCategory(.playback, mode: .default) + try session.setActive(true) + didConfigureSession = true + } catch { + didConfigureSession = false + } + } + + private func hostTime(forUptime startUptime: TimeInterval) -> UInt64 { + let nowUptime = SyncClock.uptime() + let delay = max(0, startUptime - nowUptime) + let hostDelay = AVAudioTime.hostTime(forSeconds: delay) + return mach_absolute_time() + hostDelay + } +} diff --git a/CoopRunning/ContentView.swift b/CoopRunning/ContentView.swift new file mode 100644 index 0000000..58cb391 --- /dev/null +++ b/CoopRunning/ContentView.swift @@ -0,0 +1,160 @@ +import SwiftUI +import UniformTypeIdentifiers + +struct ContentView: View { + @EnvironmentObject private var appModel: AppModel + @State private var isImporting = false + + var body: some View { + ZStack { + LinearGradient( + colors: [Color.blue.opacity(0.25), Color.cyan.opacity(0.18), Color.mint.opacity(0.12)], + startPoint: .topLeading, + endPoint: .bottomTrailing + ) + .ignoresSafeArea() + + ScrollView { + VStack(spacing: 16) { + header + card(roleSection) + card(librarySection) + card(playbackSection) + card(connectionSection) + } + .padding(20) + } + } + .fileImporter( + isPresented: $isImporting, + allowedContentTypes: [.mp3, .mpeg4Audio, .audio], + allowsMultipleSelection: false + ) { result in + do { + let url = try result.get().first + guard let url else { return } + try appModel.importTrack(url: url) + } catch { + appModel.statusText = "Import failed: \(error.localizedDescription)" + } + } + } + + private var header: some View { + VStack(spacing: 6) { + Text("CoopRunning Sync") + .font(.title2).bold() + Text(appModel.statusText) + .font(.footnote) + .foregroundStyle(.secondary) + } + } + + private var roleSection: some View { + HStack(spacing: 12) { + Button("Host") { appModel.host() } + .buttonStyle(.borderedProminent) + Button("Join") { appModel.join() } + .buttonStyle(.bordered) + Button("Stop") { appModel.stop() } + .buttonStyle(.bordered) + } + } + + private var librarySection: some View { + VStack(alignment: .leading, spacing: 8) { + HStack { + Text("Library") + .font(.headline) + Spacer() + Button("Import MP3") { + isImporting = true + } + } + + if appModel.library.isEmpty { + Text("No local tracks yet.") + .foregroundStyle(.secondary) + } else { + Picker("Track", selection: Binding(get: { + appModel.selectedTrack + }, set: { newValue in + if let track = newValue { appModel.select(track: track) } + })) { + ForEach(appModel.library) { track in + Text(track.displayName).tag(Optional(track)) + } + } + .pickerStyle(.menu) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + } + + private var playbackSection: some View { + VStack(alignment: .leading, spacing: 8) { + Text("Playback") + .font(.headline) + + HStack(spacing: 12) { + Button(appModel.isPlaying ? "Pause" : "Play") { + appModel.togglePlay() + } + .buttonStyle(.borderedProminent) + .disabled(appModel.selectedTrack == nil || appModel.role != .host) + + Button("Send Track") { + appModel.sendTrackToPeers() + } + .buttonStyle(.bordered) + .disabled(appModel.selectedTrack == nil || appModel.role != .host || !appModel.isConnected) + + Button("Sync Now") { + appModel.syncNow() + } + .buttonStyle(.bordered) + .disabled(appModel.role != .host) + } + + HStack { + Text("Position") + Slider(value: Binding(get: { + appModel.playbackPosition + }, set: { newValue in + appModel.seek(to: newValue) + }), in: 0...max(appModel.selectedTrack?.duration ?? 1, 1)) + } + .disabled(appModel.selectedTrack == nil || appModel.role != .host) + } + .frame(maxWidth: .infinity, alignment: .leading) + } + + private var connectionSection: some View { + VStack(alignment: .leading, spacing: 8) { + Text("Peers") + .font(.headline) + + if appModel.peers.isEmpty { + Text("No peers yet") + .foregroundStyle(.secondary) + } else { + ForEach(appModel.peers) { peer in + Text(peer.name) + .font(.subheadline) + } + } + } + .frame(maxWidth: .infinity, alignment: .leading) + } + + private func card(_ content: V) -> some View { + content + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(.thinMaterial, in: RoundedRectangle(cornerRadius: 16, style: .continuous)) + .overlay( + RoundedRectangle(cornerRadius: 16, style: .continuous) + .strokeBorder(Color.white.opacity(0.15)) + ) + } +} diff --git a/CoopRunning/CoopRunningApp.swift b/CoopRunning/CoopRunningApp.swift new file mode 100644 index 0000000..72b0d17 --- /dev/null +++ b/CoopRunning/CoopRunningApp.swift @@ -0,0 +1,13 @@ +import SwiftUI + +@main +struct CoopRunningApp: App { + @StateObject private var appModel = AppModel() + + var body: some Scene { + WindowGroup { + ContentView() + .environmentObject(appModel) + } + } +} diff --git a/CoopRunning/Info.plist b/CoopRunning/Info.plist new file mode 100644 index 0000000..c2af882 --- /dev/null +++ b/CoopRunning/Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + CoopRunning + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSBluetoothAlwaysUsageDescription + Find nearby runners + NSBonjourServices + + _cooprun-sync._tcp + + NSLocalNetworkUsageDescription + Sync audio with nearby runners + UILaunchStoryboardName + LaunchScreen + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/CoopRunning/LaunchScreen.storyboard b/CoopRunning/LaunchScreen.storyboard new file mode 100644 index 0000000..c59e532 --- /dev/null +++ b/CoopRunning/LaunchScreen.storyboard @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CoopRunning/LocalTrack.swift b/CoopRunning/LocalTrack.swift new file mode 100644 index 0000000..13f12eb --- /dev/null +++ b/CoopRunning/LocalTrack.swift @@ -0,0 +1,70 @@ +import Foundation +import AVFoundation + +struct LocalTrack: Identifiable, Hashable { + let id: UUID + let url: URL + let displayName: String + let duration: TimeInterval + + static func libraryDirectory() -> URL { + let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! + let dir = docs.appendingPathComponent("CoopRunning", isDirectory: true) + if !FileManager.default.fileExists(atPath: dir.path) { + try? FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true) + } + return dir + } + + static func loadLibrary() async -> [LocalTrack] { + let dir = libraryDirectory() + let urls = (try? FileManager.default.contentsOfDirectory(at: dir, includingPropertiesForKeys: nil)) ?? [] + var tracks: [LocalTrack] = [] + for url in urls { + let asset = AVURLAsset(url: url) + let duration = (try? await asset.load(.duration).seconds) ?? 0 + let track = LocalTrack( + id: UUID(uuidString: url.deletingPathExtension().lastPathComponent) ?? UUID(), + url: url, + displayName: url.deletingPathExtension().lastPathComponent, + duration: duration + ) + tracks.append(track) + } + return tracks.sorted { $0.displayName.lowercased() < $1.displayName.lowercased() } + } + + static func importTrack(from url: URL) async throws -> LocalTrack { + let dir = libraryDirectory() + let id = UUID() + let dest = dir.appendingPathComponent("\(id.uuidString).mp3") + let didStart = url.startAccessingSecurityScopedResource() + defer { + if didStart { url.stopAccessingSecurityScopedResource() } + } + try FileManager.default.copyItem(at: url, to: dest) + let duration = (try? await AVURLAsset(url: dest).load(.duration).seconds) ?? 0 + return LocalTrack( + id: id, + url: dest, + displayName: url.deletingPathExtension().lastPathComponent, + duration: duration + ) + } + + static func importReceivedTrack(from url: URL, trackID: String, displayName: String) async throws -> LocalTrack { + let dir = libraryDirectory() + let dest = dir.appendingPathComponent("\(trackID).mp3") + if FileManager.default.fileExists(atPath: dest.path) { + try FileManager.default.removeItem(at: dest) + } + try FileManager.default.moveItem(at: url, to: dest) + let duration = (try? await AVURLAsset(url: dest).load(.duration).seconds) ?? 0 + return LocalTrack( + id: UUID(uuidString: trackID) ?? UUID(), + url: dest, + displayName: displayName, + duration: duration + ) + } +} diff --git a/CoopRunning/PeerSession.swift b/CoopRunning/PeerSession.swift new file mode 100644 index 0000000..47a093c --- /dev/null +++ b/CoopRunning/PeerSession.swift @@ -0,0 +1,162 @@ +import Foundation +import MultipeerConnectivity +import UIKit + +final class PeerSession: NSObject, ObservableObject { + @Published private(set) var peers: [PeerInfo] = [] + @Published private(set) var isConnected: Bool = false + @Published private(set) var statusText: String = "Idle" + + var onMessage: ((SessionMessage) -> Void)? + var onReceiveResource: ((String, URL) -> Void)? + + private let serviceType = "cooprun-sync" + private let myPeerID = MCPeerID(displayName: UIDevice.current.name) + + private var session: MCSession! + private var advertiser: MCNearbyServiceAdvertiser? + private var browser: MCNearbyServiceBrowser? + + // Host keeps per-peer offsets + private var peerOffsets: [MCPeerID: TimeInterval] = [:] + + override init() { + super.init() + session = MCSession(peer: myPeerID, securityIdentity: nil, encryptionPreference: .required) + session.delegate = self + } + + func startHosting() { + stop() + statusText = "Hosting" + advertiser = MCNearbyServiceAdvertiser(peer: myPeerID, discoveryInfo: nil, serviceType: serviceType) + advertiser?.delegate = self + advertiser?.startAdvertisingPeer() + } + + func startJoining() { + stop() + statusText = "Browsing" + browser = MCNearbyServiceBrowser(peer: myPeerID, serviceType: serviceType) + browser?.delegate = self + browser?.startBrowsingForPeers() + } + + func stop() { + advertiser?.stopAdvertisingPeer() + advertiser = nil + browser?.stopBrowsingForPeers() + browser = nil + session.disconnect() + peers = [] + isConnected = false + statusText = "Idle" + peerOffsets = [:] + } + + func broadcast(_ message: SessionMessage) { + guard !session.connectedPeers.isEmpty else { return } + send(message, to: session.connectedPeers) + } + + func reply(_ message: SessionMessage) { + guard !session.connectedPeers.isEmpty else { return } + send(message, to: session.connectedPeers) + } + + func updateOffset(hostUptime: TimeInterval, peerUptime: TimeInterval) { + for peer in session.connectedPeers { + let offset = hostUptime - peerUptime + peerOffsets[peer] = offset + } + } + + func sendTrack(_ track: LocalTrack) { + guard !session.connectedPeers.isEmpty else { return } + let info = TrackInfoPayload(trackID: track.id.uuidString, displayName: track.displayName) + send(.trackInfo(info), to: session.connectedPeers) + for peer in session.connectedPeers { + let resourceName = "track:\(track.id.uuidString)" + session.sendResource(at: track.url, withName: resourceName, toPeer: peer) { [weak self] error in + if let error { + DispatchQueue.main.async { + self?.statusText = "Send track failed: \(error.localizedDescription)" + } + } + } + } + } + + private func send(_ message: SessionMessage, to peers: [MCPeerID]) { + do { + let data = try JSONEncoder().encode(message) + try session.send(data, toPeers: peers, with: .reliable) + } catch { + statusText = "Send failed: \(error.localizedDescription)" + } + } + + private func handle(_ data: Data, from peerID: MCPeerID) { + do { + let message = try JSONDecoder().decode(SessionMessage.self, from: data) + if case .syncRequest(let hostUptime) = message { + let peerUptime = SyncClock.uptime() + SyncClock.setHostOffset(hostUptime: hostUptime, peerUptime: peerUptime) + } + onMessage?(message) + } catch { + statusText = "Decode failed: \(error.localizedDescription)" + } + } +} + +extension PeerSession: MCSessionDelegate { + func session(_ session: MCSession, peer peerID: MCPeerID, didChange state: MCSessionState) { + DispatchQueue.main.async { + self.peers = session.connectedPeers.map { PeerInfo(id: $0.displayName, name: $0.displayName) } + self.isConnected = !session.connectedPeers.isEmpty + switch state { + case .connected: + self.statusText = "Connected to \(peerID.displayName)" + self.send(.hello, to: [peerID]) + case .connecting: + self.statusText = "Connecting to \(peerID.displayName)" + case .notConnected: + self.statusText = "Disconnected" + @unknown default: + self.statusText = "Unknown state" + } + } + } + + func session(_ session: MCSession, didReceive data: Data, fromPeer peerID: MCPeerID) { + DispatchQueue.main.async { + self.handle(data, from: peerID) + } + } + + func session(_ session: MCSession, didReceive stream: InputStream, withName streamName: String, fromPeer peerID: MCPeerID) {} + + func session(_ session: MCSession, didStartReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, with progress: Progress) {} + + func session(_ session: MCSession, didFinishReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, at localURL: URL?, withError error: Error?) { + guard error == nil, let localURL else { return } + DispatchQueue.main.async { + self.onReceiveResource?(resourceName, localURL) + } + } +} + +extension PeerSession: MCNearbyServiceAdvertiserDelegate { + func advertiser(_ advertiser: MCNearbyServiceAdvertiser, didReceiveInvitationFromPeer peerID: MCPeerID, withContext context: Data?, invitationHandler: @escaping (Bool, MCSession?) -> Void) { + invitationHandler(true, session) + } +} + +extension PeerSession: MCNearbyServiceBrowserDelegate { + func browser(_ browser: MCNearbyServiceBrowser, foundPeer peerID: MCPeerID, withDiscoveryInfo info: [String : String]?) { + browser.invitePeer(peerID, to: session, withContext: nil, timeout: 10) + } + + func browser(_ browser: MCNearbyServiceBrowser, lostPeer peerID: MCPeerID) {} +} diff --git a/CoopRunning/SessionMessage.swift b/CoopRunning/SessionMessage.swift new file mode 100644 index 0000000..dae3ba3 --- /dev/null +++ b/CoopRunning/SessionMessage.swift @@ -0,0 +1,119 @@ +import Foundation + +struct SyncPlayPayload: Codable { + let trackID: String + let startUptime: TimeInterval + let startPosition: TimeInterval +} + +struct TrackInfoPayload: Codable { + let trackID: String + let displayName: String +} + +enum SessionMessage: Codable { + case hello + case libraryRequest + case trackInfo(TrackInfoPayload) + case trackRequest(String) + case play(SyncPlayPayload) + case pause + case seek(TimeInterval) + case syncRequest(TimeInterval) + case syncResponse(hostUptime: TimeInterval, peerUptime: TimeInterval) + case driftCorrection(position: TimeInterval, hostUptime: TimeInterval) + + private enum CodingKeys: String, CodingKey { + case type + case payload + case position + case hostUptime + case peerUptime + case trackID + case displayName + } + + private enum MessageType: String, Codable { + case hello + case libraryRequest + case trackInfo + case trackRequest + case play + case pause + case seek + case syncRequest + case syncResponse + case driftCorrection + } + + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + let type = try container.decode(MessageType.self, forKey: .type) + switch type { + case .hello: + self = .hello + case .libraryRequest: + self = .libraryRequest + case .trackInfo: + let payload = try container.decode(TrackInfoPayload.self, forKey: .payload) + self = .trackInfo(payload) + case .trackRequest: + let trackID = try container.decode(String.self, forKey: .trackID) + self = .trackRequest(trackID) + case .play: + let payload = try container.decode(SyncPlayPayload.self, forKey: .payload) + self = .play(payload) + case .pause: + self = .pause + case .seek: + let position = try container.decode(TimeInterval.self, forKey: .position) + self = .seek(position) + case .syncRequest: + let hostUptime = try container.decode(TimeInterval.self, forKey: .hostUptime) + self = .syncRequest(hostUptime) + case .syncResponse: + let hostUptime = try container.decode(TimeInterval.self, forKey: .hostUptime) + let peerUptime = try container.decode(TimeInterval.self, forKey: .peerUptime) + self = .syncResponse(hostUptime: hostUptime, peerUptime: peerUptime) + case .driftCorrection: + let position = try container.decode(TimeInterval.self, forKey: .position) + let hostUptime = try container.decode(TimeInterval.self, forKey: .hostUptime) + self = .driftCorrection(position: position, hostUptime: hostUptime) + } + } + + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + switch self { + case .hello: + try container.encode(MessageType.hello, forKey: .type) + case .libraryRequest: + try container.encode(MessageType.libraryRequest, forKey: .type) + case .trackInfo(let payload): + try container.encode(MessageType.trackInfo, forKey: .type) + try container.encode(payload, forKey: .payload) + case .trackRequest(let trackID): + try container.encode(MessageType.trackRequest, forKey: .type) + try container.encode(trackID, forKey: .trackID) + case .play(let payload): + try container.encode(MessageType.play, forKey: .type) + try container.encode(payload, forKey: .payload) + case .pause: + try container.encode(MessageType.pause, forKey: .type) + case .seek(let position): + try container.encode(MessageType.seek, forKey: .type) + try container.encode(position, forKey: .position) + case .syncRequest(let hostUptime): + try container.encode(MessageType.syncRequest, forKey: .type) + try container.encode(hostUptime, forKey: .hostUptime) + case .syncResponse(let hostUptime, let peerUptime): + try container.encode(MessageType.syncResponse, forKey: .type) + try container.encode(hostUptime, forKey: .hostUptime) + try container.encode(peerUptime, forKey: .peerUptime) + case .driftCorrection(let position, let hostUptime): + try container.encode(MessageType.driftCorrection, forKey: .type) + try container.encode(position, forKey: .position) + try container.encode(hostUptime, forKey: .hostUptime) + } + } +} diff --git a/CoopRunning/SyncClock.swift b/CoopRunning/SyncClock.swift new file mode 100644 index 0000000..a86f6d5 --- /dev/null +++ b/CoopRunning/SyncClock.swift @@ -0,0 +1,17 @@ +import Foundation + +enum SyncClock { + private static var hostOffset: TimeInterval = 0 + + static func uptime() -> TimeInterval { + ProcessInfo.processInfo.systemUptime + } + + static func setHostOffset(hostUptime: TimeInterval, peerUptime: TimeInterval) { + hostOffset = hostUptime - peerUptime + } + + static func convert(hostUptime: TimeInterval) -> TimeInterval { + hostUptime - hostOffset + } +} diff --git a/CoopRunningTests/CoopRunningTests.swift b/CoopRunningTests/CoopRunningTests.swift new file mode 100644 index 0000000..6827742 --- /dev/null +++ b/CoopRunningTests/CoopRunningTests.swift @@ -0,0 +1,9 @@ +import XCTest +@testable import CoopRunning + +final class CoopRunningTests: XCTestCase { + func testLibraryLoads() { + let library = LocalTrack.loadLibrary() + XCTAssertNotNil(library) + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..dcd8181 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# CoopRunning Sync (MVP) + +This is a minimal SwiftUI + MultipeerConnectivity prototype to sync **local MP3 playback** across iPhones. One device hosts and controls playback; peers join, receive the track file, and then sync playback. + +## Setup (Xcode) +1. Create a new iOS App project in Xcode (SwiftUI, iOS 17+ or latest). +2. Replace the generated Swift files with the files in `CoopRunning/`. +3. Add these keys to your app's `Info.plist`: + - `NSLocalNetworkUsageDescription` = "Sync audio with nearby runners" + - `NSBonjourServices` (Array) with `_cooprun-sync._tcp` + - `NSBluetoothAlwaysUsageDescription` = "Find nearby runners" + +## How It Works +- Host taps **Host**, peers tap **Join**. +- Host imports an MP3 via **Import MP3**, then taps **Send Track** to push it to peers. +- Host taps **Play** to broadcast a shared start time. +- Host can tap **Sync Now** for a quick clock sync. + +## Notes +- This is a prototype using `AVAudioEngine` host-time scheduling plus uptime-based sync. It is good enough for group runs, but not sample-accurate. diff --git a/project.yml b/project.yml new file mode 100644 index 0000000..8bbe8f0 --- /dev/null +++ b/project.yml @@ -0,0 +1,82 @@ +name: CoopRunning +options: + bundleIdPrefix: de.felixfoertsch + deploymentTarget: + iOS: "26.0" +settings: + base: + SWIFT_VERSION: 5.9 + DEVELOPMENT_ASSET_PATHS: "" + TARGETED_DEVICE_FAMILY: "1" # iPhone + INFOPLIST_FILE: CoopRunning/Info.plist + CODE_SIGN_STYLE: Automatic + PRODUCT_BUNDLE_IDENTIFIER: de.felixfoertsch.cooprunning + DEVELOPMENT_TEAM: NG5W75WE8U + CODE_SIGN_IDENTITY: "Apple Development" + PROVISIONING_PROFILE_SPECIFIER: "" + ENABLE_USER_SCRIPT_SANDBOXING: "YES" + ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS: "YES" + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: "YES" + LOCALIZED_STRING_SWIFT_SYMBOLS: "YES" + SWIFT_STRING_CATALOGS: "YES" + STRING_CATALOG_GENERATE_SYMBOLS: "YES" + MARKETING_VERSION: 0.1.0 + CURRENT_PROJECT_VERSION: 1 + GENERATE_INFOPLIST_FILE: NO + +configs: + Debug: debug + Release: release + +schemes: + CoopRunning: + build: + targets: + CoopRunning: all + test: + targets: + - CoopRunningTests + +targets: + CoopRunning: + type: application + platform: iOS + sources: + - path: CoopRunning + resources: + - path: CoopRunning/LaunchScreen.storyboard + settings: + base: + PRODUCT_NAME: CoopRunning + ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon + LOCALIZED_STRING_SWIFT_SYMBOLS: "YES" + SWIFT_STRING_CATALOGS: "YES" + STRING_CATALOG_GENERATE_SYMBOLS: "YES" + info: + path: CoopRunning/Info.plist + properties: + CFBundleDisplayName: CoopRunning + LSRequiresIPhoneOS: true + UILaunchStoryboardName: LaunchScreen + UISupportedInterfaceOrientations: + - UIInterfaceOrientationPortrait + - UIInterfaceOrientationPortraitUpsideDown + - UIInterfaceOrientationLandscapeLeft + - UIInterfaceOrientationLandscapeRight + NSLocalNetworkUsageDescription: "Sync audio with nearby runners" + NSBonjourServices: + - "_cooprun-sync._tcp" + NSBluetoothAlwaysUsageDescription: "Find nearby runners" + + CoopRunningTests: + type: bundle.unit-test + platform: iOS + sources: + - path: CoopRunningTests + dependencies: + - target: CoopRunning + settings: + base: + LOCALIZED_STRING_SWIFT_SYMBOLS: "YES" + SWIFT_STRING_CATALOGS: "YES" + STRING_CATALOG_GENERATE_SYMBOLS: "YES"