Browse Source

init

master
heck 2 years ago
commit
c03d784a13
  1. 510
      Builds/MacOSX/HelloWorldDemo.xcodeproj/project.pbxproj
  2. 7
      Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. 8
      Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  4. BIN
      Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/xcuserdata/heck.xcuserdatad/UserInterfaceState.xcuserstate
  5. 14
      Builds/MacOSX/HelloWorldDemo.xcodeproj/xcuserdata/heck.xcuserdatad/xcschemes/xcschememanagement.plist
  6. 29
      Builds/MacOSX/Info-App.plist
  7. BIN
      Builds/MacOSX/RecentFilesMenuTemplate.nib
  8. 76
      HelloWorldDemo.jucer
  9. 46
      JuceLibraryCode/JuceHeader.h
  10. 12
      JuceLibraryCode/ReadMe.txt
  11. 8
      JuceLibraryCode/include_juce_core.cpp
  12. 8
      JuceLibraryCode/include_juce_core.mm
  13. 8
      JuceLibraryCode/include_juce_data_structures.cpp
  14. 8
      JuceLibraryCode/include_juce_data_structures.mm
  15. 8
      JuceLibraryCode/include_juce_events.cpp
  16. 8
      JuceLibraryCode/include_juce_events.mm
  17. 8
      JuceLibraryCode/include_juce_graphics.cpp
  18. 8
      JuceLibraryCode/include_juce_graphics.mm
  19. 8
      JuceLibraryCode/include_juce_gui_basics.cpp
  20. 8
      JuceLibraryCode/include_juce_gui_basics.mm
  21. 168
      Source/HelloWorldDemo.h
  22. 63
      Source/Main.cpp

510
Builds/MacOSX/HelloWorldDemo.xcodeproj/project.pbxproj

@ -0,0 +1,510 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
0699CAC43FF40F8C8353B6F3 /* include_juce_data_structures.mm in Sources */ = {isa = PBXBuildFile; fileRef = 39A38CBA134161AD8FA64899 /* include_juce_data_structures.mm */; };
0F0A60C569C0339E6F93D0DE /* include_juce_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2074B52EC43544A699F6A157 /* include_juce_core.mm */; };
183F99579A53365BD379126E /* include_juce_events.mm in Sources */ = {isa = PBXBuildFile; fileRef = C8B4DE0955A4E36F3F559F40 /* include_juce_events.mm */; };
1AAA3EF567822A8FB9573C33 /* include_juce_gui_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9AEC65989DCBE30E6C8DA7CB /* include_juce_gui_basics.mm */; };
33FDCBC88B2CC866A748B87C /* include_juce_graphics.mm in Sources */ = {isa = PBXBuildFile; fileRef = EB807D4F84D10CC55ED63A76 /* include_juce_graphics.mm */; };
50FE42A5C0417BF97C544A26 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1F338292664601BF133048D /* Cocoa.framework */; };
58F81FF61B2E3330A4DC84D5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1AE6443A798B33984E52C9 /* Foundation.framework */; };
5B5A2F3BA0ADA4C6C0FCB89A /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4379C7B6AFDC3C5B757D5764 /* IOKit.framework */; };
5C4FFCDF8D6FDF200EC517F5 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A95C42174C07FAA2B2B65C4C /* Security.framework */; };
8A4DDBE72A850D4F0032C112 /* libch341eeprom.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A4DDBE62A850D190032C112 /* libch341eeprom.a */; };
8A4DDBE82A850D660032C112 /* libusb-1.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A4DDBE52A850BFC0032C112 /* libusb-1.0.a */; };
A237F9B254E95B3173479FF5 /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E7DABA4EA84ACAB407A52BAE /* Main.cpp */; };
F7500DD6050381FC1C00196C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0050B1C17FE29F9C95B64D51 /* QuartzCore.framework */; };
FB5FD2A4E19C899FDDF1A2FF /* RecentFilesMenuTemplate.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6FC6928C1E798507B5702338 /* RecentFilesMenuTemplate.nib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
0050B1C17FE29F9C95B64D51 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
099DCE12326CD7799FAE16B8 /* HelloWorldDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorldDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
2074B52EC43544A699F6A157 /* include_juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_core.mm; path = ../../JuceLibraryCode/include_juce_core.mm; sourceTree = SOURCE_ROOT; };
348AF3F1494791F99F14FB59 /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_data_structures; path = "~/JUCE/modules/juce_data_structures"; sourceTree = "<absolute>"; };
39A38CBA134161AD8FA64899 /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
4379C7B6AFDC3C5B757D5764 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
5239859E7529454F519F922D /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
53A65963E302C9DE500EA512 /* HelloWorldDemo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HelloWorldDemo.h; path = ../../Source/HelloWorldDemo.h; sourceTree = SOURCE_ROOT; };
5E7B98148BAD54B9201CF2C7 /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = "~/JUCE/modules/juce_core"; sourceTree = "<absolute>"; };
6FC6928C1E798507B5702338 /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; };
800D138984C3A1FF22A52A42 /* juce_gui_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_gui_basics; path = "~/JUCE/modules/juce_gui_basics"; sourceTree = "<absolute>"; };
8A4DDBE52A850BFC0032C112 /* libusb-1.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libusb-1.0.a"; path = "../../../../../../../opt/local/lib/libusb-1.0.a"; sourceTree = "<group>"; };
8A4DDBE62A850D190032C112 /* libch341eeprom.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libch341eeprom.a; path = ../../../../heck_fvflash/src/libch341eeprom.a; sourceTree = "<group>"; };
957408F71F4B186C7A55CAA4 /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_events; path = "~/JUCE/modules/juce_events"; sourceTree = "<absolute>"; };
9AEC65989DCBE30E6C8DA7CB /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; };
A95C42174C07FAA2B2B65C4C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
AD1C4EBB965C7DB7A55C0DA2 /* Info-App.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-App.plist"; sourceTree = SOURCE_ROOT; };
C8B4DE0955A4E36F3F559F40 /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
C93186D0B1869EF73963988F /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_graphics; path = "~/JUCE/modules/juce_graphics"; sourceTree = "<absolute>"; };
E1F338292664601BF133048D /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
E7DABA4EA84ACAB407A52BAE /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
EB807D4F84D10CC55ED63A76 /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; };
FD1AE6443A798B33984E52C9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D26239AED53B46CA2CE751E0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
50FE42A5C0417BF97C544A26 /* Cocoa.framework in Frameworks */,
8A4DDBE72A850D4F0032C112 /* libch341eeprom.a in Frameworks */,
58F81FF61B2E3330A4DC84D5 /* Foundation.framework in Frameworks */,
5B5A2F3BA0ADA4C6C0FCB89A /* IOKit.framework in Frameworks */,
8A4DDBE82A850D660032C112 /* libusb-1.0.a in Frameworks */,
F7500DD6050381FC1C00196C /* QuartzCore.framework in Frameworks */,
5C4FFCDF8D6FDF200EC517F5 /* Security.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
18C51DEDCFFA23EC5A5B67CE /* Source */ = {
isa = PBXGroup;
children = (
F1855BEAE974CAE58E8FD422 /* HelloWorldDemo */,
B7B926D77229D7E02EF99308 /* JUCE Modules */,
E5B60DEDED7A739A3E736B5D /* JUCE Library Code */,
66B714D838BF3B4DB137F8CB /* Resources */,
F0AEE2DC91681642918BB3F7 /* Frameworks */,
3907AEDA69EC2D3033063FB3 /* Products */,
);
name = Source;
sourceTree = "<group>";
};
3907AEDA69EC2D3033063FB3 /* Products */ = {
isa = PBXGroup;
children = (
099DCE12326CD7799FAE16B8 /* HelloWorldDemo.app */,
);
name = Products;
sourceTree = "<group>";
};
66B714D838BF3B4DB137F8CB /* Resources */ = {
isa = PBXGroup;
children = (
AD1C4EBB965C7DB7A55C0DA2 /* Info-App.plist */,
6FC6928C1E798507B5702338 /* RecentFilesMenuTemplate.nib */,
);
name = Resources;
sourceTree = "<group>";
};
B7B926D77229D7E02EF99308 /* JUCE Modules */ = {
isa = PBXGroup;
children = (
5E7B98148BAD54B9201CF2C7 /* juce_core */,
348AF3F1494791F99F14FB59 /* juce_data_structures */,
957408F71F4B186C7A55CAA4 /* juce_events */,
C93186D0B1869EF73963988F /* juce_graphics */,
800D138984C3A1FF22A52A42 /* juce_gui_basics */,
);
name = "JUCE Modules";
sourceTree = "<group>";
};
E5B60DEDED7A739A3E736B5D /* JUCE Library Code */ = {
isa = PBXGroup;
children = (
2074B52EC43544A699F6A157 /* include_juce_core.mm */,
39A38CBA134161AD8FA64899 /* include_juce_data_structures.mm */,
C8B4DE0955A4E36F3F559F40 /* include_juce_events.mm */,
EB807D4F84D10CC55ED63A76 /* include_juce_graphics.mm */,
9AEC65989DCBE30E6C8DA7CB /* include_juce_gui_basics.mm */,
5239859E7529454F519F922D /* JuceHeader.h */,
);
name = "JUCE Library Code";
sourceTree = "<group>";
};
F0AEE2DC91681642918BB3F7 /* Frameworks */ = {
isa = PBXGroup;
children = (
8A4DDBE62A850D190032C112 /* libch341eeprom.a */,
8A4DDBE52A850BFC0032C112 /* libusb-1.0.a */,
E1F338292664601BF133048D /* Cocoa.framework */,
FD1AE6443A798B33984E52C9 /* Foundation.framework */,
4379C7B6AFDC3C5B757D5764 /* IOKit.framework */,
0050B1C17FE29F9C95B64D51 /* QuartzCore.framework */,
A95C42174C07FAA2B2B65C4C /* Security.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
F1855BEAE974CAE58E8FD422 /* HelloWorldDemo */ = {
isa = PBXGroup;
children = (
F7F77292F735014ADCFBAEEF /* Source */,
);
name = HelloWorldDemo;
sourceTree = "<group>";
};
F7F77292F735014ADCFBAEEF /* Source */ = {
isa = PBXGroup;
children = (
E7DABA4EA84ACAB407A52BAE /* Main.cpp */,
53A65963E302C9DE500EA512 /* HelloWorldDemo.h */,
);
name = Source;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
E59C5F4C7E26F9BDDBE2018E /* HelloWorldDemo - App */ = {
isa = PBXNativeTarget;
buildConfigurationList = 40E862D067345E80CB5DDCA0 /* Build configuration list for PBXNativeTarget "HelloWorldDemo - App" */;
buildPhases = (
79B6891647E745A8589693B3 /* Resources */,
B173C572EFD1F97DE4F485A9 /* Sources */,
D26239AED53B46CA2CE751E0 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "HelloWorldDemo - App";
productName = HelloWorldDemo;
productReference = 099DCE12326CD7799FAE16B8 /* HelloWorldDemo.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
D045F6BCDFCEC11D554F8C54 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1340;
ORGANIZATIONNAME = JUCE;
TargetAttributes = {
E59C5F4C7E26F9BDDBE2018E = {
SystemCapabilities = {
com.apple.ApplicationGroups.iOS = {
enabled = 0;
};
com.apple.HardenedRuntime = {
enabled = 0;
};
com.apple.InAppPurchase = {
enabled = 0;
};
com.apple.InterAppAudio = {
enabled = 0;
};
com.apple.Push = {
enabled = 0;
};
com.apple.Sandbox = {
enabled = 0;
};
};
};
};
};
buildConfigurationList = 76B10EB67960F008165A1B9F /* Build configuration list for PBXProject "HelloWorldDemo" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 18C51DEDCFFA23EC5A5B67CE /* Source */;
projectDirPath = "";
projectRoot = "";
targets = (
E59C5F4C7E26F9BDDBE2018E /* HelloWorldDemo - App */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
79B6891647E745A8589693B3 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FB5FD2A4E19C899FDDF1A2FF /* RecentFilesMenuTemplate.nib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
B173C572EFD1F97DE4F485A9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A237F9B254E95B3173479FF5 /* Main.cpp in Sources */,
0F0A60C569C0339E6F93D0DE /* include_juce_core.mm in Sources */,
0699CAC43FF40F8C8353B6F3 /* include_juce_data_structures.mm in Sources */,
183F99579A53365BD379126E /* include_juce_events.mm in Sources */,
33FDCBC88B2CC866A748B87C /* include_juce_graphics.mm in Sources */,
1AAA3EF567822A8FB9573C33 /* include_juce_gui_basics.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
2C242917C84054F84F935C4F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = NO;
GCC_C_LANGUAGE_STANDARD = c11;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
GCC_MODEL_TUNING = G5;
GCC_NO_COMMON_BLOCKS = YES;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = HelloWorldDemo;
SDKROOT = macosx;
WARNING_CFLAGS = "-Wreorder";
ZERO_LINK = NO;
};
name = Debug;
};
9FA88EC66C894C6E5BCE5B17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO;
COMBINE_HIDPI_IMAGES = YES;
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
COPY_PHASE_STRIP = NO;
EXCLUDED_ARCHS = "";
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1",
"JUCE_DISPLAY_SPLASH_SCREEN=1",
"JUCE_USE_DARK_SPLASH_SCREEN=1",
"JUCE_PROJUCER_VERSION=0x70006",
"JUCE_MODULE_AVAILABLE_juce_core=1",
"JUCE_MODULE_AVAILABLE_juce_data_structures=1",
"JUCE_MODULE_AVAILABLE_juce_events=1",
"JUCE_MODULE_AVAILABLE_juce_graphics=1",
"JUCE_MODULE_AVAILABLE_juce_gui_basics=1",
"JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
"JUCE_STRICT_REFCOUNTEDPOINTER=1",
"JUCE_STANDALONE_APPLICATION=1",
"PIP_JUCE_EXAMPLES_DIRECTORY=L1VzZXJzL2hlY2svSlVDRS9leGFtcGxlcw==",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000",
"JucePlugin_Build_VST=0",
"JucePlugin_Build_VST3=0",
"JucePlugin_Build_AU=0",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JucePlugin_Build_Unity=0",
"JucePlugin_Build_LV2=0",
);
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../../JuceLibraryCode",
"$(HOME)/JUCE/modules",
"$(inherited)",
/Users/heck/src/heck_fvflash/src,
);
INFOPLIST_FILE = "Info-App.plist";
INFOPLIST_PREPROCESS = NO;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
/Users/heck/src/heck_fvflash/src,
/opt/local/lib,
);
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(HOME)/JUCE/modules";
OTHER_LDFLAGS = (
"-weak_framework",
Metal,
"-weak_framework",
MetalKit,
);
PRODUCT_BUNDLE_IDENTIFIER = com.JUCE.HelloWorldDemo;
PRODUCT_NAME = HelloWorldDemo;
USE_HEADERMAP = NO;
VALID_ARCHS = "i386 x86_64 arm64 arm64e";
};
name = Debug;
};
AF8DAF58053535EC8337DC36 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO;
COMBINE_HIDPI_IMAGES = YES;
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
DEAD_CODE_STRIPPING = YES;
EXCLUDED_ARCHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1",
"JUCE_DISPLAY_SPLASH_SCREEN=1",
"JUCE_USE_DARK_SPLASH_SCREEN=1",
"JUCE_PROJUCER_VERSION=0x70006",
"JUCE_MODULE_AVAILABLE_juce_core=1",
"JUCE_MODULE_AVAILABLE_juce_data_structures=1",
"JUCE_MODULE_AVAILABLE_juce_events=1",
"JUCE_MODULE_AVAILABLE_juce_graphics=1",
"JUCE_MODULE_AVAILABLE_juce_gui_basics=1",
"JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
"JUCE_STRICT_REFCOUNTEDPOINTER=1",
"JUCE_STANDALONE_APPLICATION=1",
"PIP_JUCE_EXAMPLES_DIRECTORY=L1VzZXJzL2hlY2svSlVDRS9leGFtcGxlcw==",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000",
"JucePlugin_Build_VST=0",
"JucePlugin_Build_VST3=0",
"JucePlugin_Build_AU=0",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JucePlugin_Build_Unity=0",
"JucePlugin_Build_LV2=0",
);
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../../JuceLibraryCode",
"$(HOME)/JUCE/modules",
"$(inherited)",
/Users/heck/src/heck_fvflash/src,
);
INFOPLIST_FILE = "Info-App.plist";
INFOPLIST_PREPROCESS = NO;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
/Users/heck/src/heck_fvflash/src,
/opt/local/lib,
);
LLVM_LTO = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(HOME)/JUCE/modules";
OTHER_LDFLAGS = (
"-weak_framework",
Metal,
"-weak_framework",
MetalKit,
);
PRODUCT_BUNDLE_IDENTIFIER = com.JUCE.HelloWorldDemo;
PRODUCT_NAME = HelloWorldDemo;
USE_HEADERMAP = NO;
VALID_ARCHS = "i386 x86_64 arm64 arm64e";
};
name = Release;
};
C89B59521DF6B8BC92EF1DCD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = NO;
GCC_C_LANGUAGE_STANDARD = c11;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
GCC_MODEL_TUNING = G5;
GCC_NO_COMMON_BLOCKS = YES;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = HelloWorldDemo;
SDKROOT = macosx;
WARNING_CFLAGS = "-Wreorder";
ZERO_LINK = NO;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
40E862D067345E80CB5DDCA0 /* Build configuration list for PBXNativeTarget "HelloWorldDemo - App" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9FA88EC66C894C6E5BCE5B17 /* Debug */,
AF8DAF58053535EC8337DC36 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
76B10EB67960F008165A1B9F /* Build configuration list for PBXProject "HelloWorldDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2C242917C84054F84F935C4F /* Debug */,
C89B59521DF6B8BC92EF1DCD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = D045F6BCDFCEC11D554F8C54 /* Project object */;
}

7
Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

8
Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@ -0,0 +1,8 @@
<?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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

BIN
Builds/MacOSX/HelloWorldDemo.xcodeproj/project.xcworkspace/xcuserdata/heck.xcuserdatad/UserInterfaceState.xcuserstate

Binary file not shown.

14
Builds/MacOSX/HelloWorldDemo.xcodeproj/xcuserdata/heck.xcuserdatad/xcschemes/xcschememanagement.plist

@ -0,0 +1,14 @@
<?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>HelloWorldDemo - App.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>

29
Builds/MacOSX/Info-App.plist

@ -0,0 +1,29 @@
<?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>
<dict>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.JUCE.HelloWorldDemo</string>
<key>CFBundleName</key>
<string>HelloWorldDemo</string>
<key>CFBundleDisplayName</key>
<string>HelloWorldDemo</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

BIN
Builds/MacOSX/RecentFilesMenuTemplate.nib

Binary file not shown.

76
HelloWorldDemo.jucer

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT name="HelloWorldDemo" companyName="JUCE" version="1.0.0" userNotes="Simple HelloWorld application."
companyWebsite="http://juce.com" displaySplashScreen="1" defines="PIP_JUCE_EXAMPLES_DIRECTORY=L1VzZXJzL2hlY2svSlVDRS9leGFtcGxlcw=="
projectType="guiapp" useAppConfig="0" addUsingNamespaceToJuceHeader="1"
id="RfbYjZ" jucerFormatVersion="1">
<MAINGROUP id="HNRR1w" name="HelloWorldDemo">
<GROUP id="{C2A0AE13-20EB-A509-27ED-2DACAC213975}" name="Source">
<FILE id="MTU18W" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
<FILE id="WjbB1i" name="HelloWorldDemo.h" compile="0" resource="0"
file="Source/HelloWorldDemo.h"/>
</GROUP>
</MAINGROUP>
<MODULES>
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_events" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
</MODULES>
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="HelloWorldDemo"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="HelloWorldDemo"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path=""/>
<MODULEPATH id="juce_data_structures" path=""/>
<MODULEPATH id="juce_events" path=""/>
<MODULEPATH id="juce_graphics" path=""/>
<MODULEPATH id="juce_gui_basics" path=""/>
</MODULEPATHS>
</XCODE_MAC>
<VS2022 targetFolder="Builds/VisualStudio2022">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="HelloWorldDemo"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="HelloWorldDemo"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path=""/>
<MODULEPATH id="juce_data_structures" path=""/>
<MODULEPATH id="juce_events" path=""/>
<MODULEPATH id="juce_graphics" path=""/>
<MODULEPATH id="juce_gui_basics" path=""/>
</MODULEPATHS>
</VS2022>
<LINUX_MAKE targetFolder="Builds/LinuxMakefile">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="HelloWorldDemo"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="HelloWorldDemo"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path=""/>
<MODULEPATH id="juce_data_structures" path=""/>
<MODULEPATH id="juce_events" path=""/>
<MODULEPATH id="juce_graphics" path=""/>
<MODULEPATH id="juce_gui_basics" path=""/>
</MODULEPATHS>
</LINUX_MAKE>
<XCODE_IPHONE targetFolder="Builds/iOS" customXcodeResourceFolders="/Users/heck/JUCE/examples/Assets">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="HelloWorldDemo"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="HelloWorldDemo"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path=""/>
<MODULEPATH id="juce_data_structures" path=""/>
<MODULEPATH id="juce_events" path=""/>
<MODULEPATH id="juce_graphics" path=""/>
<MODULEPATH id="juce_gui_basics" path=""/>
</MODULEPATHS>
</XCODE_IPHONE>
</EXPORTFORMATS>
<JUCEOPTIONS JUCE_STRICT_REFCOUNTEDPOINTER="1"/>
</JUCERPROJECT>

46
JuceLibraryCode/JuceHeader.h

@ -0,0 +1,46 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
This is the header file that your files should include in order to get all the
JUCE library headers. You should avoid including the JUCE headers directly in
your own source files, because that wouldn't pick up the correct configuration
options for your app.
*/
#pragma once
#include <juce_core/juce_core.h>
#include <juce_data_structures/juce_data_structures.h>
#include <juce_events/juce_events.h>
#include <juce_graphics/juce_graphics.h>
#include <juce_gui_basics/juce_gui_basics.h>
#if defined (JUCE_PROJUCER_VERSION) && JUCE_PROJUCER_VERSION < JUCE_VERSION
/** If you've hit this error then the version of the Projucer that was used to generate this project is
older than the version of the JUCE modules being included. To fix this error, re-save your project
using the latest version of the Projucer or, if you aren't using the Projucer to manage your project,
remove the JUCE_PROJUCER_VERSION define.
*/
#error "This project was last saved using an outdated version of the Projucer! Re-save this project with the latest version to fix this error."
#endif
#if ! DONT_SET_USING_JUCE_NAMESPACE
// If your code uses a lot of JUCE classes, then this will obviously save you
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
using namespace juce;
#endif
#if ! JUCE_DONT_DECLARE_PROJECTINFO
namespace ProjectInfo
{
const char* const projectName = "HelloWorldDemo";
const char* const companyName = "JUCE";
const char* const versionString = "1.0.0";
const int versionNumber = 0x10000;
}
#endif

12
JuceLibraryCode/ReadMe.txt

@ -0,0 +1,12 @@
Important Note!!
================
The purpose of this folder is to contain files that are auto-generated by the Projucer,
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
the Projucer saves your project.
Therefore, it's a bad idea to make any manual changes to the files in here, or to
put any of your own files in here if you don't want to lose them. (Of course you may choose
to add the folder's contents to your version-control system so that you can re-merge your own
modifications after the Projucer has saved its changes).

8
JuceLibraryCode/include_juce_core.cpp

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_core/juce_core.cpp>

8
JuceLibraryCode/include_juce_core.mm

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_core/juce_core.mm>

8
JuceLibraryCode/include_juce_data_structures.cpp

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_data_structures/juce_data_structures.cpp>

8
JuceLibraryCode/include_juce_data_structures.mm

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_data_structures/juce_data_structures.mm>

8
JuceLibraryCode/include_juce_events.cpp

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_events/juce_events.cpp>

8
JuceLibraryCode/include_juce_events.mm

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_events/juce_events.mm>

8
JuceLibraryCode/include_juce_graphics.cpp

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_graphics/juce_graphics.cpp>

8
JuceLibraryCode/include_juce_graphics.mm

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_graphics/juce_graphics.mm>

8
JuceLibraryCode/include_juce_gui_basics.cpp

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_gui_basics/juce_gui_basics.cpp>

8
JuceLibraryCode/include_juce_gui_basics.mm

@ -0,0 +1,8 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include <juce_gui_basics/juce_gui_basics.mm>

168
Source/HelloWorldDemo.h

@ -0,0 +1,168 @@
/*
==============================================================================
This file is part of the JUCE examples.
Copyright (c) 2022 - Raw Material Software Limited
The code included in this file is provided under the terms of the ISC license
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
To use, copy, modify, and/or distribute this software for any purpose with or
without fee is hereby granted provided that the above copyright notice and
this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES,
WHETHER EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR
PURPOSE, ARE DISCLAIMED.
==============================================================================
*/
/*******************************************************************************
The block below describes the properties of this PIP. A PIP is a short snippet
of code that can be read by the Projucer and used to generate a JUCE project.
BEGIN_JUCE_PIP_METADATA
name: HelloWorldDemo
version: 1.0.0
vendor: JUCE
website: http://juce.com
description: Simple HelloWorld application.
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
juce_gui_basics
exporters: xcode_mac, vs2022, linux_make, xcode_iphone
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
type: Component
mainClass: HelloWorldDemo
useLocalCopy: 1
END_JUCE_PIP_METADATA
*******************************************************************************/
#pragma once
#include <libch341eeprom.h>
//==============================================================================
class HelloWorldDemo : public Component, public juce::FilenameComponentListener
{
public:
int fv1flash_write(std::string &filename) {
ch341_operation_desc opdesc{};
opdesc.operation = 'w';
opdesc.filename = strdup(filename.data());
opdesc.eepromname = strdup("24c32");
return ch341_operation(opdesc);
}
int fv1flash_erase() {
ch341_operation_desc opdesc{};
opdesc.operation = 'e';
opdesc.eepromname = strdup("24c32");
return ch341_operation(opdesc);
}
//==============================================================================
HelloWorldDemo()
{
fileComp.reset (new juce::FilenameComponent ("fileComp",
{}, // current file
false, // can edit file name,
false, // is directory,
false, // is for saving,
{}, // browser wildcard suffix,
{}, // enforced suffix,
"Drop fv-1 program \n\nHere\n\nto upload (bin file)")); // text when nothing selected
addAndMakeVisible (fileComp.get());
fileComp->addListener (this);
addAndMakeVisible (helloWorldLabel);
helloWorldLabel.setFont (Font (40.00f, Font::bold));
helloWorldLabel.setJustificationType (Justification::centred);
helloWorldLabel.setEditable (false, false, false);
helloWorldLabel.setColour (Label::textColourId, Colours::green);
addAndMakeVisible (status_label);
status_label.setFont (Font (20.00f, Font::plain));
status_label.setJustificationType (Justification::left);
status_label.setEditable (false, false, false);
status_label.setColour (Label::textColourId, Colours::white);
addAndMakeVisible (helloWorldLabel2);
helloWorldLabel2.setFont (Font (12.00f, Font::plain));
helloWorldLabel2.setJustificationType (Justification::right);
helloWorldLabel2.setEditable (false, false, false);
helloWorldLabel2.setColour (Label::textColourId, Colours::white);
addAndMakeVisible (quitButton);
quitButton.onClick = [this]{
if (fv1flash_erase() == 0) {
status_label.setColour (Label::textColourId, Colours::green);
status_label.setText("Erase Successful", juce::NotificationType::dontSendNotification);
} else {
status_label.setColour (Label::textColourId, Colours::red);
status_label.setText("Erase Error: fv-1 board not found)", juce::NotificationType::dontSendNotification);
}
};
setSize (500, 400);
}
//==============================================================================
void paint (Graphics& g) override
{
g.fillAll (Colour (0,0,0));
}
void resized() override
{
helloWorldLabel.setBounds (10, 10, getWidth()- 10, 60);
fileComp->setBounds(30, 100, getWidth() - 60, 200);
status_label.setBounds(25, 290, getWidth()- 10, 60);
helloWorldLabel2.setBounds(10, 360, 380, 30);
quitButton.setBounds (350, 307, 120, 32);
}
void filenameComponentChanged (juce::FilenameComponent* fileComponentThatHasChanged) override
{
if (fileComponentThatHasChanged == fileComp.get()) {
std::string filename = fileComp->getCurrentFile().getFullPathName().toStdString();
status_label.setText("Uploading...", juce::NotificationType::dontSendNotification);
if (fv1flash_write(filename) == 0) {
status_label.setColour (Label::textColourId, Colours::green);
status_label.setText("Upload Successful", juce::NotificationType::dontSendNotification);
} else {
status_label.setColour (Label::textColourId, Colours::red);
status_label.setText("Upload Error: fv-1 board not found)", juce::NotificationType::dontSendNotification);
}
}
}
private:
//==============================================================================
std::unique_ptr<juce::FilenameComponent> fileComp;
Label helloWorldLabel { {}, TRANS("FlipFloater FV-1 Fun") };
Label helloWorldLabel2 { {}, TRANS("made by <heck@heck.live> @ homemade23 4 FlipFloater") };
Label status_label { {}, TRANS("") };
TextButton quitButton { TRANS("Erase") };
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (HelloWorldDemo)
};

63
Source/Main.cpp

@ -0,0 +1,63 @@
/*
==============================================================================
This file contains the startup code for a PIP.
==============================================================================
*/
#include <JuceHeader.h>
#include "HelloWorldDemo.h"
class Application : public juce::JUCEApplication
{
public:
//==============================================================================
Application() = default;
const juce::String getApplicationName() override { return "HelloWorldDemo"; }
const juce::String getApplicationVersion() override { return "1.0.0"; }
void initialise (const juce::String&) override
{
mainWindow.reset (new MainWindow ("HelloWorldDemo", new HelloWorldDemo, *this));
}
void shutdown() override { mainWindow = nullptr; }
private:
class MainWindow : public juce::DocumentWindow
{
public:
MainWindow (const juce::String& name, juce::Component* c, JUCEApplication& a)
: DocumentWindow (name, juce::Desktop::getInstance().getDefaultLookAndFeel()
.findColour (ResizableWindow::backgroundColourId),
juce::DocumentWindow::allButtons),
app (a)
{
setUsingNativeTitleBar (true);
setContentOwned (c, true);
setResizable (false, false);
centreWithSize (getWidth(), getHeight());
setVisible (true);
}
void closeButtonPressed() override
{
app.systemRequestedQuit();
}
private:
JUCEApplication& app;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
};
std::unique_ptr<MainWindow> mainWindow;
};
//==============================================================================
START_JUCE_APPLICATION (Application)
Loading…
Cancel
Save