Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | QueFinder added & odetojoy show |
---|---|
Timelines: | family | ancestors | descendants | both | NEWNET |
Files: | files | file ages | folders |
SHA1: |
9778542a316633e3bdbd480ed079a6bc |
User & Date: | jim 2016-01-03 11:01:10.500 |
Context
2016-01-06
| ||
14:21 | Started JavaPlanner Leaf check-in: 7cb2f511ec user: jim tags: NEWNET | |
2016-01-03
| ||
11:01 | QueFinder added & odetojoy show check-in: 9778542a31 user: jim tags: NEWNET | |
2014-12-20
| ||
11:00 | Use PNG not GIF for images check-in: 18ac40a7b9 user: jim tags: NEWNET | |
Changes
Changes to Firenet.xcodeproj/project.pbxproj.
︙ | ︙ | |||
661 662 663 664 665 666 667 | }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { | | | 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { LastUpgradeCheck = 0720; }; buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "Firenet" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( en, |
︙ | ︙ | |||
768 769 770 771 772 773 774 | COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; INSTALL_PATH = /usr/local/bin; PRODUCT_NAME = Firenet; | | | | > < > | 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 | COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; INSTALL_PATH = /usr/local/bin; PRODUCT_NAME = Firenet; SDKROOT = macosx; }; name = Debug; }; 1DEB928708733DD80010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/bin; PRODUCT_NAME = Firenet; SDKROOT = macosx; }; name = Release; }; 1DEB928A08733DD80010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = com.apple.compilers.llvmgcc42; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DBSD_VERSION"; "OTHER_CPLUSPLUSFLAGS[sdk=macosx10.7][arch=*]" = "$(OTHER_CFLAGS)"; SDKROOT = macosx; }; name = Debug; }; 1DEB928B08733DD80010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DBSD_VERSION"; SDKROOT = macosx; }; name = Release; }; /* End XCBuildConfiguration section */ |
︙ | ︙ |
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/project.pbxproj.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 3810F5C11C32B04900336A4E /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 3810F5C01C32B04900336A4E /* main.c */; }; 384794111C32B16500F859F1 /* waverdr.c in Sources */ = {isa = PBXBuildFile; fileRef = 3847940F1C32B16500F859F1 /* waverdr.c */; }; 384794BB1C35378700F859F1 /* PeakFinder.c in Sources */ = {isa = PBXBuildFile; fileRef = 384794B91C35378700F859F1 /* PeakFinder.c */; }; 384794C21C35542E00F859F1 /* Hdr.c in Sources */ = {isa = PBXBuildFile; fileRef = 384794C01C35542E00F859F1 /* Hdr.c */; }; 384794C71C35675500F859F1 /* Nodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 384794C51C35675500F859F1 /* Nodes.c */; }; 384794C81C35675500F859F1 /* Nodes.h in Sources */ = {isa = PBXBuildFile; fileRef = 384794C61C35675500F859F1 /* Nodes.h */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ 3810F5BB1C32B04900336A4E /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = /usr/share/man/man1/; dstSubfolderSpec = 0; files = ( ); runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 3810F5BD1C32B04900336A4E /* QueFinder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QueFinder; sourceTree = BUILT_PRODUCTS_DIR; }; 3810F5C01C32B04900336A4E /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; }; 3847940F1C32B16500F859F1 /* waverdr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = waverdr.c; sourceTree = "<group>"; }; 384794101C32B16500F859F1 /* waverdr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.objj.h; path = waverdr.h; sourceTree = "<group>"; }; 384794B91C35378700F859F1 /* PeakFinder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = PeakFinder.c; sourceTree = "<group>"; }; 384794BA1C35378700F859F1 /* PeakFinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.objj.h; path = PeakFinder.h; sourceTree = "<group>"; }; 384794C01C35542E00F859F1 /* Hdr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Hdr.c; sourceTree = "<group>"; }; 384794C11C35542E00F859F1 /* Hdr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.objj.h; path = Hdr.h; sourceTree = "<group>"; }; 384794C51C35675500F859F1 /* Nodes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Nodes.c; sourceTree = "<group>"; }; 384794C61C35675500F859F1 /* Nodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.objj.h; path = Nodes.h; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 3810F5BA1C32B04900336A4E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 3810F5B41C32B04900336A4E = { isa = PBXGroup; children = ( 3810F5BF1C32B04900336A4E /* QueFinder */, 3810F5BE1C32B04900336A4E /* Products */, ); sourceTree = "<group>"; }; 3810F5BE1C32B04900336A4E /* Products */ = { isa = PBXGroup; children = ( 3810F5BD1C32B04900336A4E /* QueFinder */, ); name = Products; sourceTree = "<group>"; }; 3810F5BF1C32B04900336A4E /* QueFinder */ = { isa = PBXGroup; children = ( 3810F5C01C32B04900336A4E /* main.c */, 384794BD1C3553FF00F859F1 /* Support */, ); path = QueFinder; sourceTree = "<group>"; }; 3847940E1C32B16500F859F1 /* Wave */ = { isa = PBXGroup; children = ( 3847940F1C32B16500F859F1 /* waverdr.c */, 384794101C32B16500F859F1 /* waverdr.h */, ); name = Wave; path = ../../Wave; sourceTree = "<group>"; }; 384794BD1C3553FF00F859F1 /* Support */ = { isa = PBXGroup; children = ( 384794C41C3565B000F859F1 /* Nodes */, 384794BF1C35541B00F859F1 /* Header */, 384794BE1C35540B00F859F1 /* Peak */, 3847940E1C32B16500F859F1 /* Wave */, ); name = Support; sourceTree = "<group>"; }; 384794BE1C35540B00F859F1 /* Peak */ = { isa = PBXGroup; children = ( 384794BA1C35378700F859F1 /* PeakFinder.h */, 384794B91C35378700F859F1 /* PeakFinder.c */, ); name = Peak; sourceTree = "<group>"; }; 384794BF1C35541B00F859F1 /* Header */ = { isa = PBXGroup; children = ( 384794C01C35542E00F859F1 /* Hdr.c */, 384794C11C35542E00F859F1 /* Hdr.h */, ); name = Header; sourceTree = "<group>"; }; 384794C41C3565B000F859F1 /* Nodes */ = { isa = PBXGroup; children = ( 384794C51C35675500F859F1 /* Nodes.c */, 384794C61C35675500F859F1 /* Nodes.h */, ); name = Nodes; sourceTree = "<group>"; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 3810F5BC1C32B04900336A4E /* QueFinder */ = { isa = PBXNativeTarget; buildConfigurationList = 3810F5C41C32B04900336A4E /* Build configuration list for PBXNativeTarget "QueFinder" */; buildPhases = ( 3810F5B91C32B04900336A4E /* Sources */, 3810F5BA1C32B04900336A4E /* Frameworks */, 3810F5BB1C32B04900336A4E /* CopyFiles */, ); buildRules = ( ); dependencies = ( ); name = QueFinder; productName = QueFinder; productReference = 3810F5BD1C32B04900336A4E /* QueFinder */; productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 3810F5B51C32B04900336A4E /* Project object */ = { isa = PBXProject; attributes = { LastUpgradeCheck = 0720; ORGANIZATIONNAME = "Pandora,Inc"; TargetAttributes = { 3810F5BC1C32B04900336A4E = { CreatedOnToolsVersion = 7.2; }; }; }; buildConfigurationList = 3810F5B81C32B04900336A4E /* Build configuration list for PBXProject "QueFinder" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); mainGroup = 3810F5B41C32B04900336A4E; productRefGroup = 3810F5BE1C32B04900336A4E /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 3810F5BC1C32B04900336A4E /* QueFinder */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ 3810F5B91C32B04900336A4E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 384794C81C35675500F859F1 /* Nodes.h in Sources */, 384794BB1C35378700F859F1 /* PeakFinder.c in Sources */, 3810F5C11C32B04900336A4E /* main.c in Sources */, 384794C71C35675500F859F1 /* Nodes.c in Sources */, 384794C21C35542E00F859F1 /* Hdr.c in Sources */, 384794111C32B16500F859F1 /* waverdr.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ 3810F5C21C32B04900336A4E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); 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; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; name = Debug; }; 3810F5C31C32B04900336A4E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; 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; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; name = Release; }; 3810F5C51C32B04900336A4E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; 3810F5C61C32B04900336A4E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 3810F5B81C32B04900336A4E /* Build configuration list for PBXProject "QueFinder" */ = { isa = XCConfigurationList; buildConfigurations = ( 3810F5C21C32B04900336A4E /* Debug */, 3810F5C31C32B04900336A4E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 3810F5C41C32B04900336A4E /* Build configuration list for PBXNativeTarget "QueFinder" */ = { isa = XCConfigurationList; buildConfigurations = ( 3810F5C51C32B04900336A4E /* Debug */, 3810F5C61C32B04900336A4E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 3810F5B51C32B04900336A4E /* Project object */; } |
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/project.xcworkspace/contents.xcworkspacedata.
> > > > > > > | 1 2 3 4 5 6 7 | <?xml version="1.0" encoding="UTF-8"?> <Workspace version = "1.0"> <FileRef location = "self:QueFinder.xcodeproj"> </FileRef> </Workspace> |
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/project.xcworkspace/xcuserdata/jim.xcuserdatad/UserInterfaceState.xcuserstate.
cannot compute difference between binary files
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/xcuserdata/jim.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | <?xml version="1.0" encoding="UTF-8"?> <Bucket type = "1" version = "2.0"> <Breakpoints> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "../Wave/waverdr.c" timestampString = "473511233.890202" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "128" endingLineNumber = "128" landmarkName = "wave_frame_fread()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/main.c" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "59" endingLineNumber = "59" landmarkName = "main()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "../Wave/waverdr.c" timestampString = "473511233.890202" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "303" endingLineNumber = "303" landmarkName = "wave_open_read()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "../Wave/waverdr.c" timestampString = "473511233.890202" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "266" endingLineNumber = "266" landmarkName = "wave_open_read()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "../Wave/waverdr.c" timestampString = "473511233.890202" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "260" endingLineNumber = "260" landmarkName = "wave_open_read()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/main.c" timestampString = "473334761.754467" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "168" endingLineNumber = "168" landmarkName = "main()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/main.c" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "154" endingLineNumber = "154" landmarkName = "main()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/PeakFinder.c" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "56" endingLineNumber = "56" landmarkName = "ScanData()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/Hdr.c" timestampString = "473258369.147145" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "44" endingLineNumber = "44" landmarkName = "GetHeader()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/Hdr.c" timestampString = "473258694.428339" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "70" endingLineNumber = "70" landmarkName = "GetHeader()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/Hdr.c" timestampString = "473258722.739692" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "61" endingLineNumber = "61" landmarkName = "GetHeader()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/main.c" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "77" endingLineNumber = "77" landmarkName = "main()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/PeakFinder.c" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "115" endingLineNumber = "115" landmarkName = "ScanDataOutput()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/PeakFinder.h" timestampString = "473268557.429143" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "31" endingLineNumber = "31"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/Nodes.c" timestampString = "473334598.524275" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "65" endingLineNumber = "65" landmarkName = "GetNextNode()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "QueFinder/main.c" timestampString = "473509969.60155" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "139" endingLineNumber = "139" landmarkName = "main()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" filePath = "../Wave/waverdr.c" timestampString = "473511229.857623" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "412" endingLineNumber = "412" landmarkName = "wave_find_data()" landmarkType = "7"> </BreakpointContent> </BreakpointProxy> </Breakpoints> </Bucket> |
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/xcuserdata/jim.xcuserdatad/xcschemes/QueFinder.xcscheme.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | <?xml version="1.0" encoding="UTF-8"?> <Scheme LastUpgradeVersion = "0720" version = "1.3"> <BuildAction parallelizeBuildables = "YES" buildImplicitDependencies = "YES"> <BuildActionEntries> <BuildActionEntry buildForTesting = "YES" buildForRunning = "YES" buildForProfiling = "YES" buildForArchiving = "YES" buildForAnalyzing = "YES"> <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "3810F5BC1C32B04900336A4E" BuildableName = "QueFinder" BlueprintName = "QueFinder" ReferencedContainer = "container:QueFinder.xcodeproj"> </BuildableReference> </BuildActionEntry> </BuildActionEntries> </BuildAction> <TestAction buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> <Testables> </Testables> <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "3810F5BC1C32B04900336A4E" BuildableName = "QueFinder" BlueprintName = "QueFinder" ReferencedContainer = "container:QueFinder.xcodeproj"> </BuildableReference> </MacroExpansion> <AdditionalOptions> </AdditionalOptions> </TestAction> <LaunchAction buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> <BuildableProductRunnable runnableDebuggingMode = "0"> <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "3810F5BC1C32B04900336A4E" BuildableName = "QueFinder" BlueprintName = "QueFinder" ReferencedContainer = "container:QueFinder.xcodeproj"> </BuildableReference> </BuildableProductRunnable> <CommandLineArguments> <CommandLineArgument argument = "-v" isEnabled = "NO"> </CommandLineArgument> <CommandLineArgument argument = "-i x.wav" isEnabled = "NO"> </CommandLineArgument> <CommandLineArgument argument = "-i ode.wav -hdr ode.hdr -nodes 8 -o ode.json" isEnabled = "YES"> </CommandLineArgument> </CommandLineArguments> <AdditionalOptions> </AdditionalOptions> </LaunchAction> <ProfileAction buildConfiguration = "Release" shouldUseLaunchSchemeArgsEnv = "YES" savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> <BuildableProductRunnable runnableDebuggingMode = "0"> <BuildableReference BuildableIdentifier = "primary" BlueprintIdentifier = "3810F5BC1C32B04900336A4E" BuildableName = "QueFinder" BlueprintName = "QueFinder" ReferencedContainer = "container:QueFinder.xcodeproj"> </BuildableReference> </BuildableProductRunnable> </ProfileAction> <AnalyzeAction buildConfiguration = "Debug"> </AnalyzeAction> <ArchiveAction buildConfiguration = "Release" revealArchiveInOrganizer = "YES"> </ArchiveAction> </Scheme> |
Added Shows/QueFinder/QueFinder/QueFinder.xcodeproj/xcuserdata/jim.xcuserdatad/xcschemes/xcschememanagement.plist.
> > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>SchemeUserState</key> <dict> <key>QueFinder.xcscheme</key> <dict> <key>orderHint</key> <integer>0</integer> </dict> </dict> <key>SuppressBuildableAutocreation</key> <dict> <key>3810F5BC1C32B04900336A4E</key> <dict> <key>primary</key> <true/> </dict> </dict> </dict> </plist> |
Added Shows/QueFinder/QueFinder/QueFinder/Hdr.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | // // Hdr.c Read header files // QueFinder // // Of the form // # <comment> // Show name // Show file // Show time (MM:SS) // // Created by Jim on 31/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #include <stdlib.h> #include <string.h> #include "Hdr.h" #if 0 #pragma mark - #pragma mark External API #endif //------------------------------------------------------------------------------ /* SHOW_HDR *GetHeader( char *name ) - Read header file INPUT: name - Header file name OUTPUT: SHOW_HDR struct or NULL */ //------------------------------------------------------------------------------ SHOW_HDR *GetHeader( char *name ) { SHOW_HDR *hdr = NULL; FILE *fp; char buffer[HDR_SIZE]; int slot = 0; size_t n; // (1) Can we open the file ? fp = fopen(name,"r"); if( fp != NULL ) { // Build a header struct hdr = (SHOW_HDR *)calloc(sizeof(SHOW_HDR),1); if( hdr != NULL ) { // Ok read the file line by line while(fgets(buffer,HDR_SIZE,fp) != NULL ) { // Coment ? if( buffer[0] != CMT_MARK && buffer[0] != '\n') { n = strlen( buffer ); buffer[n-1] = '\0'; // Trim \n switch( slot ) { case 0: strncpy(hdr->name,buffer,HDR_SIZE); break; case 1: strncpy(hdr->file,buffer,HDR_SIZE); break; case 2: strncpy(hdr->time,buffer,HDR_SIZE); break; } slot = slot +1; if( slot > 2 ) break; } } fclose(fp); if( slot != 3 ) { // Bad file FreeHeader(hdr); hdr = NULL; } } } return hdr; } void Print_Header(SHOW_HDR *hdr,FILE *out); //------------------------------------------------------------------------------ /* void FreeHeader(SHOW_HDR *hdr) - Delete header INPUT: hdr - Header structure OUTPUT: NONE */ //------------------------------------------------------------------------------ void FreeHeader(SHOW_HDR *hdr) { if( hdr != NULL ) free( hdr ); } |
Added Shows/QueFinder/QueFinder/QueFinder/Hdr.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | // // Hdr.h // QueFinder // // Created by Jim on 31/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #ifndef Hdr_h #define Hdr_h #include <stdio.h> #define HDR_SIZE 64 #define CMT_MARK '#' typedef struct { char name[HDR_SIZE+1]; char file[HDR_SIZE+1]; char time[HDR_SIZE+1]; } SHOW_HDR; SHOW_HDR *GetHeader( char *name ); void Print_Header(SHOW_HDR *hdr,FILE *out); void FreeHeader(SHOW_HDR *hdr); #endif /* Hdr_h */ |
Added Shows/QueFinder/QueFinder/QueFinder/Nodes.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | // // Nodes.c // QueFinder // // Created by Jim on 31/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #include "stdlib.h" #include "Nodes.h" #if 0 #pragma mark - #pragma mark External API #endif //------------------------------------------------------------------------------ /* NODES *BuildNodes(int n) - Build a set of nodes INPUT: n - # of nodes OUTPUT: NODES struct or NULL */ //------------------------------------------------------------------------------ NODES *BuildNodes(int n) { NODES *base; base = (NODES *)calloc(1,sizeof(NODES)); if( base != NULL ) { base->count = n; base->list = (NODE *)calloc(1,n * sizeof(NODE)); if( base->list == NULL ) { // FAILURE free(base); base = NULL; } } return base; } //------------------------------------------------------------------------------ /* int GetNextNode(NODES *list,NODE *nd); INPUT: list - List of nodes node - Node found channel - Channel on node found OUTPUT: 0 if returned node, <> 0 if not */ //------------------------------------------------------------------------------ int GetNextNode(NODES *list,int *node,int *channel) { int i,j; for( i=0; i<list->count; i++) { for(j=0;j<6;j++) { if( list->list[i].channel[j] == 0 ) { *node = i + 1; *channel = j + 1; list->list[i].channel[j] = 1; return 0; // Success } } } return -1; } //------------------------------------------------------------------------------ /* void FreeNodes(NODES *list) - Free node list INPUT: list - List of nodes OUTPUT: Free list */ //------------------------------------------------------------------------------ void FreeNodes(NODES *list) { if( list != NULL ) { if(list->list != NULL) free(list->list); free(list); } } |
Added Shows/QueFinder/QueFinder/QueFinder/Nodes.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // // Nodes.h // QueFinder // // Created by Jim on 31/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #ifndef Nodes_h #define Nodes_h #include <stdio.h> typedef struct { int node; char channel[6]; } NODE; typedef struct { int count; NODE *list; } NODES; NODES *BuildNodes(int n); int GetNextNode(NODES *list,int *node,int *channel); void FreeNodes(NODES *list); #endif /* Nodes_h */ |
Added Shows/QueFinder/QueFinder/QueFinder/PeakFinder.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | // // PeakFinder.c // QueFinder // // Created by Jim on 30/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #include "PeakFinder.h" #if 0 #pragma mark - #pragma mark Data #endif static PEAK *MakePeak( WAVE_HDL *wave,float *data,NODES *list,int psn); #if 0 #pragma mark - #pragma mark External API #endif //------------------------------------------------------------------------------ /* PEAK *ScanData( WAVE_HDL *wave,float *data,NODES *listfloat,int threshold,float width) - Find peaks INPUT: wave - Handle to open wave file data - Floating point sound data from proc file list - Node data list threahold - 0-1.0 value for peak value width - width of peak in ms OUTPUT: Linked list of wave peaks */ //------------------------------------------------------------------------------ PEAK *ScanData( WAVE_HDL *wave,float *data,NODES *list,float threshold,float width) { PEAK *base = NULL; PEAK *p = NULL; PEAK *last = NULL; int i; int peak_blank; // Calculate how long to blank after each peak peak_blank = (int) (width/1000 * wave->rate); // Scan data and capture peaks for( i=0; i< wave->frames; i++) { if( data[i] > threshold) { // Starting a new peak p = MakePeak(wave,data,list,i); // Add to list if( base == NULL ) { base = p; last = p; } else { last->next = p; last = p; } // Skip fwd over blanking time i = i + peak_blank; } } return base; } //------------------------------------------------------------------------------ /* int ScanDataSize(PEAK *p) - Count peaks INPUT: p - Peak list OUTPUT: count of # of peaks */ //------------------------------------------------------------------------------ int ScanDataSize(PEAK *p) { int rtnval = 0; while( p != NULL ) { p = p->next; rtnval++; } return rtnval; } //------------------------------------------------------------------------------ /* int ScanDataOutput(PEAK *p,NODES *list,SHOW_HDR *hdr,char *outfile); INPUT: p - Peak list list - Node list hdr - Header data outfile - Output file name OUTPUT: 0 if OK <> 0 if not */ //------------------------------------------------------------------------------ int ScanDataOutput(PEAK *p,NODES *list,SHOW_HDR *hdr,char *outfile) { int delay; FILE *out; int rtnval = -1; // (1) open the file and quit if bad out = fopen(outfile,"w"); if( out != NULL ) { // (2) Do the header fprintf(out,"{\n"); fprintf(out,"\t\"show\"\t\t:\t\"%s\",\n",hdr->name); fprintf(out,"\t\"music\"\t\t:\t\"%s\",\n",hdr->file); fprintf(out,"\t\"time\"\t\t:\t\"%s\",\n",hdr->time); fprintf(out,"\t\"nodes\"\t\t:\t\"%d\",\n",list->count); // Do the prograrm fprintf(out,"\t\"program\"\t: [\n"); while( p != NULL ) { delay = (int)(p->time * 1000.0 + 0.5); fprintf(out,"\t\t\t{\"node\" : \"%d\" , \"ch\" : \"%d\" , \"delay\" : \"%d\" }", p->node, p->channel, delay); p = p->next; if( p != NULL ) fprintf(out,",\n"); else fprintf(out,"\n"); } // Close the json fprintf(out,"\t\t\t\t]\n"); fprintf(out,"}\n"); fclose(out); rtnval = 0; } return rtnval; } void ScanDataFree( PEAK *p) { PEAK *pn; while( p != NULL ) { pn = p->next; free(p); p = pn; } } #if 0 #pragma mark - #pragma mark Internal API #endif static PEAK *MakePeak( WAVE_HDL *wave,float *data,NODES *list,int psn) { PEAK *p; int node,channel; p = calloc(1, sizeof(PEAK)); if( p != NULL ) { // Fill it in p->peak_value = data[psn]; p->index = psn; p->time = (float)psn / (float)wave->rate; if( list != NULL && GetNextNode(list, &node, &channel) == 0) { p->node = node; p->channel = channel; } } return p; } |
Added Shows/QueFinder/QueFinder/QueFinder/PeakFinder.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // // PeakFinder.h // QueFinder // // Created by Jim on 30/12/2015. // Copyright © 2015 Pandora,Inc. All rights reserved. // #ifndef PeakFinder_h #define PeakFinder_h #include <stdio.h> #include <string.h> #include <stdlib.h> #include "Hdr.h" #include "Nodes.h" #include "waverdr.h" typedef struct dummy_cue { struct dummy_cue *next; float peak_value; // Value @ peak int index; // Index into data float time; // MS into musical piece int fire_time; // Time after DTMF time subtracted int node; int channel; } PEAK; // External API PEAK *ScanData( WAVE_HDL *wave,float *data,NODES *list,float threshold,float width); int ScanDataSize(PEAK *p); int ScanDataOutput(PEAK *p,NODES *list,SHOW_HDR *hdr,char *outfile); void ScanDataFree( PEAK *p); #endif /* PeakFinder_h */ |
Added Shows/QueFinder/QueFinder/QueFinder/main.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | //------------------------------------------------------------------------------ /* main.c QueFinder Created by Jim on 29/12/2015. Copyright © 2015 Pandora,Inc. All rights reserved. Cmd line: -i <input files> -nodes <# nodes> -hdr <header file> -o <output file> */ //------------------------------------------------------------------------------ #include <stdio.h> #include <string.h> #include <stdlib.h> #include "waverdr.h" #include "Hdr.h" #include "Nodes.h" #include "PeakFinder.h" static int flag_srch(int argc,const char *argv[], char *flag,int get_value, char **rtn ); static void print_help(void); int main(int argc, const char * argv[]) { char *ptr; WAVE_HDL *ifile; SHOW_HDR *hdr; NODES *nlist; float *buffer; int frames; PEAK *base; int count = 0; char inbuf[25]; float threshold = 0.8; float width = 100.0; int n; int nodes; char *outfile; //------------------------------------------------------------------------------ // (1) Handle input options if( flag_srch( argc,argv,"-v",0,&ptr) ) // Handle -v { print_help(); return( 0 ); } if( flag_srch( argc,argv,"-i",1,&ptr) ) // Input sound file { ifile = wave_open(ptr,"r",NULL); if( ifile == NULL ) { printf("*** ERROR Could not read [%s] Input sound file\n",ptr); print_help(); return(-1); } } else { printf("*** ERROR NO Input Sound File\n"); print_help(); return( - 1 ); } if( flag_srch( argc,argv,"-hdr",1,&ptr) ) // Input header file { hdr = GetHeader(ptr); if( hdr == NULL ) { printf("*** ERROR Could not read [%s] Input header file\n",ptr); print_help(); return(-1); } } else { printf("*** ERROR NO Input Header File\n"); print_help(); return( - 1 ); } if( flag_srch( argc,argv,"-nodes",1,&ptr) ) // Input # nodes { nodes = (int)strtol(ptr,NULL,0); if( nodes < 0 || nodes > 10 ) { printf("*** Bad node count [%d]\n",nodes); print_help(); return(-1); } else { nlist = BuildNodes(nodes); if( nlist == NULL ) { printf("*** ERROR Bad node list\n"); print_help(); return( - 1 ); } } } else { printf("*** ERROR NO nodes value\n"); print_help(); return( - 1 ); } if( flag_srch( argc,argv,"-o",1,&ptr) ) // Out pgm file { outfile = ptr; } else { printf("*** ERROR NO Output Program File\n"); print_help(); return( - 1 ); } //------------------------------------------------------------------------------ // Process file // Read the data file buffer = (float *)calloc(2,sizeof(float) * ifile->frames); if( buffer != NULL ) { frames = wave_frame_fread(ifile, (int)ifile->frames, buffer); printf("Frames Read %d\n",frames); // Get an acceptable # of peaks while( 1 ) { printf("Input threshold (0-1.0): "); fgets(inbuf,25,stdin); n = sscanf(inbuf,"%f",&threshold); printf("Input Width (ms): "); fgets(inbuf,25,stdin); n = sscanf(inbuf,"%f",&width); base = ScanData(ifile,buffer,NULL,threshold,width); count = ScanDataSize(base); ScanDataFree(base); // Free up trial printf("Found %d peaks\n",count); printf("OK (Y/n):"); fgets(inbuf,25,stdin); if( inbuf[0] == 'Y') break; } // Run with current parameters base = ScanData(ifile,buffer,nlist,threshold,width); ScanDataOutput(base,nlist,hdr,outfile); ScanDataFree(base); FreeHeader(hdr); wave_close(ifile); } return 0; } /*********************************************************************** * * print_help(void) * * INPUT: NONE * * OUTPUT: NONE * Print program help * **********************************************************************/ static void print_help(void) { printf("QueFinder - Find Que's in WAV File %s %s\n",__DATE__,__TIME__); printf("SYNTAX: firewalker -i <Wave IN> -o <Queue OUT>\n"); printf("\n"); printf(" -i <Audio IN> Stereo WAV file for queuing\n"); printf(" -nodes <# nodes> # Firing nodes\n"); printf(" -hdr <header file> File with show data\n"); printf(" -o <output file> Show output file\n"); printf(" [-v] Show this message and return\n"); printf("\n"); } /*********************************************************************** * * FLAG_SRCH(argc,argv,flag,get_value,&rtn ) * * INPUT: argc,argv - Command line parameters * flag - String (flag) to be found * get_value - TRUE return pointer to next item * FALSE no pointer returned * rtn - Return pointer (NULL if not used or * * found) * * OUTPUT: TRUE if flag found * FALSE if not * Scan argument list for flag * If found then TRUE is returned and if get_value TRUE * return rtn pointing to string in argv[] following * the flag * NOTE only exact matches will be found * **********************************************************************/ static int flag_srch(int argc,const char *argv[],char *flag,int get_value,char **rtn ) { int i; const char *ptr; /* Scan through the argv's and look for a matching flag */ for( i=0; i<argc; i++ ) { ptr = argv[i]; if( strcmp(ptr,flag) == 0 ) { /* Match found, return pointer to the following (if requested or NULL if not) */ i++; if( get_value && i < argc ) *rtn = (char *)argv[i]; else *rtn = NULL; return( 1 ); } } /* Failure exit here, so return to user with FALSE */ return( 0 ); } |
Added Shows/QueFinder/Wave/waverdr.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | /*************************************************************************** * Copyright (C) 2005, Pandora Products * vze35xda@verizon.net * This is FREE SOFTWARE it can be used for any purpose and can be included * in any project with no obligations to Pandora Products. ****************************************************************************/ /* waverdr.c - File to read/write WAVE files API: WAVE_HDL *wave_open( char *name,char *mode,WAVE_HDL *proto); void wave_close( WAVE_HDL *h ); int wave_frame_fread( WAVE_HDL *h,int frames,float *frame_buf); int wave_frame_fwrite( WAVE_HDL *h,int frames,float *frame_buf); Changes 15-Dec-2005 Initial version */ //************************************************************************ #include <string.h> #include <stdlib.h> #include "waverdr.h" // Internal routines static WAVE_HDL *wave_open_read( FILE *h ); static WAVE_HDL *wave_open_write( FILE *h, WAVE_HDL *proto ); static int wave_find_data(int start,int size,char *buffer); #pragma mark -- EXTERNAL API -- /***************************************************************************** * * WAVE_HDL *wave_open( char *name,char *mode,WAVE_HDL *proto) - Open wave file * * INPUT: name - Name of file to open * mode - "r" or "w" * proto - Prototype for "w" open will create header info using * this information * IGNORED on read * * OUTPUT: Pointer to handle for read or write of file * ******************************************************************************/ WAVE_HDL *wave_open( char *name,char *mode,WAVE_HDL *proto) { WAVE_HDL *fp = NULL; FILE *h; char internal_mode[10]; // (1) Open the file and fail if not // Make the open "rb" or "wb" strncpy(internal_mode,mode,10); strncat(internal_mode,"b",10); h = fopen(name,internal_mode); if( h != NULL ) { // (2) Open OK so handle READ or WRITE switch( mode[0] ) { case 'r': fp = wave_open_read( h ); break; case 'w': fp = wave_open_write(h,proto ); break; default: fp = NULL; break; } } return( fp ); } /***************************************************************************** * * void wave_close( WAVE_HDL *h ) * * INPUT: h - Open wave handle * * OUTPUT: Close file and wipe structure * ******************************************************************************/ void wave_close( WAVE_HDL *h ) { if( h != NULL ) { fclose( h->fp ); free( h ); } } /***************************************************************************** * * int wave_frame_fread( WAVE_HDL *h,int frames,float *frame_buf) * * INPUT: h Handle structure * frames Read this many frames * frame_buf Put output float here (must be large enought to hold data) * * OUTPUT: Read input, little endian -32768 to 32767 -> -1.0 to 1.0 float * return # frames read * ******************************************************************************/ int wave_frame_fread( WAVE_HDL *hdl,int frames,float *frame_buf) { char *buffer; int i,j,size; int psn = 0; int outpsn = 0; short val; // (1) Calculate # bytes to read & build a buffer to hold it size = hdl->frame_size * frames; buffer = (char *)calloc(1,size); if( buffer != NULL ) { // (2) Read in buffer size = (int)fread(buffer,1,size,hdl->fp); if( size > 0 ) { // (3) Now convert the input value into a float // Calculate how many frames we have frames = size / hdl->frame_size; // (3a) Move FWD to 'data' + 3 bytes to start of data psn = wave_find_data(0,size,buffer); // (4) Now read frames for( i=0; i<frames; i++ ) { // On each frame generate the 2 byte // word for each and convert to -1.0/1.0 float for(j=0,val=0; j<hdl->channels; j++ ) { val = 0xff & (0xff & buffer[psn++]); // Low order first val = val + ((0xff & buffer[psn++])<<8); // High order // Convert to float frame_buf[outpsn++] = (float)val/32768.0; } } } else frames = 0; // Free the read buffer free( buffer ); } else frames = 0; return( frames ); } /***************************************************************************** * * int wave_frame_fwrite( WAVE_HDL *h,int frames,float *frame_buf) * * INPUT: h Handle structure * frames Write this many frames * frame_buf From here * * OUTPUT: Write data as frames, little endian -32768 to 32767 -> -1.0 to 1.0 float * Return # Frames written * ******************************************************************************/ int wave_frame_fwrite( WAVE_HDL *hdl,int frames,float *frame_buf) { char *buffer; int i,j,size; int psn = 0; int outpsn = 0; short val; // (1) Calculate # bytes to write & build a buffer to hold it size = hdl->frame_size * frames; buffer = (char *)calloc(1,size); if( buffer != NULL ) { // (2) Write the input floats to this buffer // After conversion to +/- 32768 for( i=0; i<frames; i++ ) { // Generate the short from the float then // write in little endian order to buffer for(j=0; j<hdl->channels; j++ ) { val = (short)(32768.0 * frame_buf[psn++]); buffer[outpsn++] = (char)(val & 0xff); buffer[outpsn++] = (char)((val>>8) & 0xff); } } // (3) Now write this output to the buffer // Calculate # frames written size = (int)fwrite(buffer,1,size,hdl->fp); frames = size / hdl->frame_size; // Free the read buffer free( buffer ); } else frames = 0; return( frames ); } #pragma mark -- Internal API -- /***************************************************************************** * * WAVE_HDL *wave_open_read( char *name) - Open wave file * * INPUT: h - Open wave file * * OUTPUT: Handle to wave file filled out with internal data * ******************************************************************************/ static WAVE_HDL *wave_open_read( FILE *h ) { int size; WAVE_HDL *hdl; // (1) Create wave file handle hdl = (WAVE_HDL *)calloc(1,sizeof(WAVE_HDL)); if( hdl != NULL ) { // (2) Read in the file chunks size = (int)fread(hdl->hdr.buffer,1,WAVE_FILE_HDR_DATA,h); // Header data if( size == WAVE_FILE_HDR_DATA ) { // Get size of file, if start == RIFF then next is little // endian data size if( hdl->hdr.buffer[0] == 'R' && hdl->hdr.buffer[1] == 'I' && hdl->hdr.buffer[2] == 'F' && hdl->hdr.buffer[3] == 'F' ) { // Get the size as little endian hdl->frames = 0; hdl->frames += (0xff & hdl->hdr.buffer[7])<<24; hdl->frames += (0xff & hdl->hdr.buffer[6])<<16; hdl->frames += (0xff & hdl->hdr.buffer[5])<<8; hdl->frames += (0xff & hdl->hdr.buffer[4]); } size = (int)fread(hdl->fmt.buffer,1,WAVE_FMT_DATA,h); // Format header chunk if( size == WAVE_FMT_DATA ) { size = (int)fread(hdl->data.buffer,1,WAVE_DATA_DATA,h ); // Data header if( size == WAVE_DATA_DATA ) { // At this point the header points to the data area // So fill in the handle with the needed data hdl->fp = h; // File handle // # Channels = Byte 10 of format data buffer hdl->channels = 0xff & hdl->fmt.buffer[10]; // Rate = bytes 12 & 13 of fmt block in little endian format hdl->rate = 0xff & hdl->fmt.buffer[13]; hdl->rate = hdl->rate<<8; // Move to top byte hdl->rate += 0xff & hdl->fmt.buffer[12]; // Bottom byte // Bits/sample = byte 22 of fmt data buffer // then divide this by 8 to and mul by channels = bytes/frame hdl->frame_size = 0xff & hdl->fmt.buffer[22]; hdl->frame_size = (hdl->frame_size * hdl->channels)/8; // # Frames First get data size (long value 4-7 in data hdr) // In little endian order // Then divide this by frame size hdl->frames /= hdl->frame_size; } } } } return( hdl ); } /***************************************************************************** * * WAVE_HDL *wave_open_write( char *name) * * INPUT: h Open wave file * proto Prototype file (copy this file) * * OUTPUT: Handle to wave file handle filled out with internal data * And header data written to output file * ******************************************************************************/ static WAVE_HDL *wave_open_write( FILE *fp, WAVE_HDL *proto ) { int size; WAVE_HDL *hdl; // (1) Create wave file handle hdl = (WAVE_HDL *)calloc(1,sizeof(WAVE_HDL)); if( hdl != NULL ) { // (2) Copy the prototype data into this handle hdl->channels = proto->channels; hdl->rate = proto->rate; hdl->frames = proto->frames; hdl->frame_size = proto->frame_size; hdl->fp = fp; hdl->write_access = 1; // (3) Copy the header blocks memcpy(hdl->hdr.buffer,proto->hdr.buffer,WAVE_FILE_HDR_DATA); memcpy(hdl->fmt.buffer,proto->fmt.buffer,WAVE_FMT_DATA); memcpy(hdl->data.buffer,proto->data.buffer,WAVE_DATA_DATA); // (4) Write the header data to the output file size = (int)fwrite(hdl->hdr.buffer,1,WAVE_FILE_HDR_DATA,fp); size = (int)fwrite(hdl->fmt.buffer,1,WAVE_FMT_DATA,fp); size = (int)fwrite(hdl->data.buffer,1,WAVE_DATA_DATA,fp); } return( hdl ); } /***************************************************************************** * * int wave_find_data(int start,char *buffer) - Find start of data * * INPUT: start - Psn to start search * size - # bytes in buffer * buffer - Data buffer * * OUTPUT: Find 'data' marker and move to start of data * - 1 if not found * * DATA Chunk * data - 4 Bytes char * size - 4 bytes * ******************************************************************************/ static int wave_find_data(int start,int size,char *buffer) { int rtnval = -1; int i; int step = 0; // Search for data for( i=start;i<size;i++) { switch( step ) { case 0: if( buffer[i] == 'd') step++; break; case 1: if( buffer[i] == 'a') step++; else step = 0; break; case 2: if( buffer[i] == 't') step++; else step = 0; break; case 3: if( buffer[i] == 'a') step ++; else step = 0; break; case 4: // Found, move past size and to data rtnval = i + 4; return( rtnval ); } } return rtnval; } |
Added Shows/QueFinder/Wave/waverdr.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | /*************************************************************************** * Copyright (C) 2005, Pandora Products * vze35xda@verizon.net * This is FREE SOFTWARE it can be used for any purpose and can be included * in any project with no obligations to Pandora Products. ****************************************************************************/ /* waverdr.h - File to read/write WAVE files API: WAVE_HDL *wave_open( char *name,char *mode,WAVE_HDL *proto); void wave_close( WAVE_HDL *h ); int wave_frame_fread( WAVE_HDL *h,int frames,float *frame_buf); int wave_frame_fwrite( WAVE_HDL *h,int frames,float *frame_buf); Changes 15-Dec-2005 Initial version */ //************************************************************************ #include <stdio.h> #ifndef WAVERDR_H #define WAVERDR_H #define WAVE_FILE_HDR_DATA 12 // Length in bytes typedef struct { int length; unsigned char buffer[WAVE_FILE_HDR_DATA]; // Raw data } WAVE_FILE_HDR; #define WAVE_FMT_DATA 24 // Length in bytes typedef struct { int channels; // # Channels/frame int rate; // Frames/sec int channel_bits; // Bits/channel unsigned char buffer[WAVE_FMT_DATA]; } WAVE_FMT; #define WAVE_DATA_DATA 8 // Length in bytes typedef struct { long datasize; // # Bytes in data unsigned char buffer[WAVE_DATA_DATA]; } WAVE_DATA; typedef struct { // Wave handle used for file access to WAVE data file WAVE_FILE_HDR hdr; // Header data from file WAVE_FMT fmt; // Format data from file WAVE_DATA data; // Data header from file int channels; // # Channels/frame int rate; // Rate in frames/sec unsigned long frames;// # Frames of data following int frame_size; // # bytes/frame int write_access;// TRUE on write FILE *fp; // File handle } WAVE_HDL; // **** // API // **** WAVE_HDL *wave_open( char *name,char *mode,WAVE_HDL *proto); void wave_close( WAVE_HDL *h ); int wave_frame_fread( WAVE_HDL *h,int frames,float *frame_buf); int wave_frame_fwrite( WAVE_HDL *h,int frames,float *frame_buf); #endif |
Added Shows/ode.json.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | { "show" : "Ode to Joy", "music" : "odeToJoy.mp3", "time" : "2:05", "nodes" : "8", "program" : [ {"node" : "1" , "ch" : "1" , "delay" : "15601" }, {"node" : "1" , "ch" : "2" , "delay" : "21242" }, {"node" : "1" , "ch" : "3" , "delay" : "32817" }, {"node" : "1" , "ch" : "4" , "delay" : "37265" }, {"node" : "1" , "ch" : "5" , "delay" : "41681" }, {"node" : "1" , "ch" : "6" , "delay" : "43487" }, {"node" : "2" , "ch" : "1" , "delay" : "45324" }, {"node" : "2" , "ch" : "2" , "delay" : "46577" }, {"node" : "2" , "ch" : "3" , "delay" : "68111" }, {"node" : "2" , "ch" : "4" , "delay" : "69472" }, {"node" : "2" , "ch" : "5" , "delay" : "69795" }, {"node" : "2" , "ch" : "6" , "delay" : "73039" }, {"node" : "3" , "ch" : "1" , "delay" : "73144" }, {"node" : "3" , "ch" : "2" , "delay" : "73244" }, {"node" : "3" , "ch" : "3" , "delay" : "73397" }, {"node" : "3" , "ch" : "4" , "delay" : "73505" }, {"node" : "3" , "ch" : "5" , "delay" : "76256" }, {"node" : "3" , "ch" : "6" , "delay" : "77167" }, {"node" : "4" , "ch" : "1" , "delay" : "77703" }, {"node" : "4" , "ch" : "2" , "delay" : "78028" }, {"node" : "4" , "ch" : "3" , "delay" : "78919" }, {"node" : "4" , "ch" : "4" , "delay" : "80824" }, {"node" : "4" , "ch" : "5" , "delay" : "82145" }, {"node" : "4" , "ch" : "6" , "delay" : "83365" }, {"node" : "5" , "ch" : "1" , "delay" : "83513" }, {"node" : "5" , "ch" : "2" , "delay" : "83642" }, {"node" : "5" , "ch" : "3" , "delay" : "84379" }, {"node" : "5" , "ch" : "4" , "delay" : "87552" }, {"node" : "5" , "ch" : "5" , "delay" : "87874" }, {"node" : "5" , "ch" : "6" , "delay" : "87984" }, {"node" : "6" , "ch" : "1" , "delay" : "92100" }, {"node" : "6" , "ch" : "2" , "delay" : "94440" }, {"node" : "6" , "ch" : "3" , "delay" : "94649" }, {"node" : "6" , "ch" : "4" , "delay" : "95228" }, {"node" : "6" , "ch" : "5" , "delay" : "97954" }, {"node" : "6" , "ch" : "6" , "delay" : "98414" }, {"node" : "7" , "ch" : "1" , "delay" : "102450" }, {"node" : "7" , "ch" : "2" , "delay" : "106127" }, {"node" : "7" , "ch" : "3" , "delay" : "108798" }, {"node" : "7" , "ch" : "4" , "delay" : "114409" }, {"node" : "7" , "ch" : "5" , "delay" : "114589" }, {"node" : "7" , "ch" : "6" , "delay" : "123734" }, {"node" : "8" , "ch" : "1" , "delay" : "123847" }, {"node" : "8" , "ch" : "2" , "delay" : "124217" } ] } |
Added Shows/odeToJoy.mp3.
cannot compute difference between binary files
Changes to Shows/shows.json.
1 2 | { "shows" : [ | | | 1 2 3 4 5 6 7 8 9 10 | { "shows" : [ { "show" : "La Mariseillaise 4", "file" : "mariseillaise4.json", "nodes" : "4", "time" : "1:02" }, { "show" : "La Mariseillaise 6", "file" : "mariseillaise6.json", |
︙ | ︙ | |||
19 20 21 22 23 24 25 | }, { "show" : "Stars & Stripes Forever", "file" : "ss_forever.json", "nodes" : "10", "time" : "3:38" | > | > > > > > > | > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | }, { "show" : "Stars & Stripes Forever", "file" : "ss_forever.json", "nodes" : "10", "time" : "3:38" }, { "show" : "Ode to Joy", "file" : "ode.json", "nodes" : "8", "time" : "2:05" } ] } |
Changes to Shows/ss_forever.json.
1 2 3 4 5 6 | { "show" : "Stars & Stripes Forever", "music" : "stars_stripes_forever.mp3", "time" : "3:38", "nodes" : "10", "program" : [ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "show" : "Stars & Stripes Forever", "music" : "stars_stripes_forever.mp3", "time" : "3:38", "nodes" : "10", "program" : [ { "node" : "1", "ch" : "1" , "delay" : "320" }, { "node" : "2", "ch" : "1" , "delay" : "3960" }, { "node" : "3", "ch" : "1" , "delay" : "6540" }, { "node" : "4", "ch" : "1" , "delay" : "7480" }, { "node" : "5", "ch" : "1" , "delay" : "8590" }, { "node" : "6", "ch" : "1" , "delay" : "10020" }, { "node" : "7", "ch" : "1" , "delay" : "11460" }, { "node" : "8", "ch" : "1" , "delay" : "13240" }, |
︙ | ︙ |
Changes to Site/rest/main.lua.
︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 | -- -- This handles the top level -- -- 20-Nov-2011 [7f829d5df2] & [9eae8bcde5] Support for automated shows and PROGRAM -- rest commands -- 23-Nov-2011 [7f829d5df2] Read cmd line input and pull in the http & -- show locations -- ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- SUPPORT FUNCTIONS ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- | > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | -- -- This handles the top level -- -- 20-Nov-2011 [7f829d5df2] & [9eae8bcde5] Support for automated shows and PROGRAM -- rest commands -- 23-Nov-2011 [7f829d5df2] Read cmd line input and pull in the http & -- show locations -- 28-Dec-2015 Add -port to set HTTP port -- ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- SUPPORT FUNCTIONS ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- |
︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 | -- Pull up items from command line -- NOTE THESE ARE GLOBALS FOR THE REST -- OF THE SYSTEM REST_LCN = flag_srch( arg,"-rest",1 ) HTTP_LCN = flag_srch(arg,"-http",1) SHOW_LCN = flag_srch(arg,"-show",1) if( REST_LCN == nil ) then print("SYNTAX ERROR: -rest <REST file lcn> NOT GIVEN") print("Shutting down") os.exit(-1) end | > | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | -- Pull up items from command line -- NOTE THESE ARE GLOBALS FOR THE REST -- OF THE SYSTEM REST_LCN = flag_srch( arg,"-rest",1 ) HTTP_LCN = flag_srch(arg,"-http",1) SHOW_LCN = flag_srch(arg,"-show",1) PORT_USED = flag_srch(arg,"-port",1) if( REST_LCN == nil ) then print("SYNTAX ERROR: -rest <REST file lcn> NOT GIVEN") print("Shutting down") os.exit(-1) end |
︙ | ︙ | |||
88 89 90 91 92 93 94 95 96 97 98 99 100 101 | if( SHOW_LCN == nil ) then print("WARNING: -show <SHOW file lcn> NOT GIVEN") print("Automated Shows Disabled") end -- Set that into the package search path _G.package.path = REST_LCN .. "/?.lua;" .. _G.package.path -- Now all modules will load with just a simple require + name require "rest_sup" require "login" | > > > > > > > | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | if( SHOW_LCN == nil ) then print("WARNING: -show <SHOW file lcn> NOT GIVEN") print("Automated Shows Disabled") end if( PORT_USED == nil ) then PORT_USED = 8081 print("WARNING: -port not present using 8081") end PORT_USED = PORT_USED + 0 -- Set that into the package search path _G.package.path = REST_LCN .. "/?.lua;" .. _G.package.path -- Now all modules will load with just a simple require + name require "rest_sup" require "login" |
︙ | ︙ | |||
114 115 116 117 118 119 120 | state = {} state.RUN = 1 -- Site operation -- (1) Open channel and start HTTP | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | state = {} state.RUN = 1 -- Site operation -- (1) Open channel and start HTTP val = http.start(PORT_USED,HTTP_LCN,"rest") if( val ~= nil ) then -- Open FIRENET, if fail then bail if( firenet_open() ) then |
︙ | ︙ |
Changes to Tools/AVRpgmr/.DS_Store.
cannot compute difference between binary files
Changes to Tools/AVRpgmr/pgmr.xcodeproj/project.pbxproj.
︙ | ︙ | |||
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 38FBA1E5099828CD0087E94A /* Build configuration list for PBXProject "pgmr" */; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* pgmr */; projectDirPath = ""; projectRoot = ""; targets = ( 8DD76FA90486AB0100D96B5E /* pgmr */, ); }; | > > > > > > | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { }; buildConfigurationList = 38FBA1E5099828CD0087E94A /* Build configuration list for PBXProject "pgmr" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( en, ); mainGroup = 08FB7794FE84155DC02AAC07 /* pgmr */; projectDirPath = ""; projectRoot = ""; targets = ( 8DD76FA90486AB0100D96B5E /* pgmr */, ); }; |
︙ | ︙ | |||
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = "$(HOME)/bin"; PRODUCT_NAME = pgmr; ZERO_LINK = NO; }; name = Development; }; 38FBA1E3099828CD0087E94A /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INSTALL_PATH = "$(HOME)/bin"; PRODUCT_NAME = pgmr; ZERO_LINK = NO; }; name = Deployment; }; 38FBA1E4099828CD0087E94A /* Default */ = { isa = XCBuildConfiguration; buildSettings = { FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INSTALL_PATH = "$(HOME)/bin"; PRODUCT_NAME = pgmr; }; name = Default; }; 38FBA1E6099828CD0087E94A /* Development */ = { isa = XCBuildConfiguration; buildSettings = { GCC_VERSION = com.apple.compilers.llvm.clang.1_0; | > > > > > > | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = "$(HOME)/bin"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_NAME = pgmr; SDKROOT = macosx; ZERO_LINK = NO; }; name = Development; }; 38FBA1E3099828CD0087E94A /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INSTALL_PATH = "$(HOME)/bin"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_NAME = pgmr; SDKROOT = macosx; ZERO_LINK = NO; }; name = Deployment; }; 38FBA1E4099828CD0087E94A /* Default */ = { isa = XCBuildConfiguration; buildSettings = { FRAMEWORK_SEARCH_PATHS = /Users/jim/Dev/AVR/arvpgmr/pgmr; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INSTALL_PATH = "$(HOME)/bin"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_NAME = pgmr; SDKROOT = macosx; }; name = Default; }; 38FBA1E6099828CD0087E94A /* Development */ = { isa = XCBuildConfiguration; buildSettings = { GCC_VERSION = com.apple.compilers.llvm.clang.1_0; |
︙ | ︙ |
Changes to luasupport/JSON/JSON/qdj_token.c.
︙ | ︙ | |||
377 378 379 380 381 382 383 | run = 0; buf->eob = 0; break; case '\\': // Escapes in front of " are a special case // Check for this condition | | | 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | run = 0; buf->eob = 0; break; case '\\': // Escapes in front of " are a special case // Check for this condition buf->psn++; // Get pa len++; // If the next character a ", if so then // suck it up also as this is NOT the end of the // string if( *buf->psn == '"' ) |
︙ | ︙ |