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 == '"' ) |
| ︙ | ︙ |