├── .github └── workflows │ └── linux.yml ├── .gitignore ├── LICENSE.md ├── PatternPlayer_Sketch ├── BlinkyTape.h ├── PatternPlayer_Sketch.ino ├── README.md ├── SerialLoop.cpp ├── SerialLoop.h ├── animation.cpp └── animation.h ├── README.md ├── README2.md ├── appcast ├── patternpaint-osx.xml └── patternpaint-windows.xml ├── buildBlinkyTapeFirmware.sh ├── dist_linux.sh ├── dist_macos.sh ├── dist_windows.sh ├── gitversion.sh ├── patternpaint.nsi ├── src ├── PatternPaint.pro ├── app │ ├── Info.plist │ ├── app.pro │ ├── examples.qrc │ ├── examples │ │ ├── blinkytape │ │ │ ├── cylon.png │ │ │ ├── laser_cat.jpg │ │ │ └── whitebeats.png │ │ ├── blinkytile │ │ │ ├── colors.png │ │ │ ├── flashlight.png │ │ │ ├── shadow.png │ │ │ └── shimmer.png │ │ ├── matrix │ │ │ ├── beer.frames.png │ │ │ ├── blink_flash.frames.png │ │ │ ├── fireworks.frames.png │ │ │ ├── go forward.png │ │ │ ├── saturated_spin.frames.png │ │ │ └── tunnel.frames.png │ │ └── pendant │ │ │ ├── blinkinlabs.png │ │ │ ├── heart.png │ │ │ ├── iheartohs.png │ │ │ ├── nyan-cat.png │ │ │ └── stars.png │ ├── gui │ │ ├── aboutpatternpaint.cpp │ │ ├── aboutpatternpaint.h │ │ ├── aboutpatternpaint.ui │ │ ├── appnap.h │ │ ├── appnap.mm │ │ ├── colorchooser.cpp │ │ ├── colorchooser.h │ │ ├── debuglog.cpp │ │ ├── debuglog.h │ │ ├── debuglog.ui │ │ ├── defaults.h │ │ ├── firmwaremanager.cpp │ │ ├── firmwaremanager.h │ │ ├── firmwaremanager.ui │ │ ├── frameeditor.cpp │ │ ├── frameeditor.h │ │ ├── gui.pri │ │ ├── instrumentconfiguration.cpp │ │ ├── instrumentconfiguration.h │ │ ├── intervalfilter.cpp │ │ ├── intervalfilter.h │ │ ├── main.cpp │ │ ├── mainwindow.cpp │ │ ├── mainwindow.h │ │ ├── mainwindow.ui │ │ ├── outputpreview.cpp │ │ ├── outputpreview.h │ │ ├── patterncollectiondelegate.cpp │ │ ├── patterncollectiondelegate.h │ │ ├── patterndelegate.cpp │ │ ├── patterndelegate.h │ │ ├── patternframelistview.cpp │ │ ├── patternframelistview.h │ │ ├── preferences.cpp │ │ ├── preferences.h │ │ ├── preferences.ui │ │ ├── sceneconfiguration.cpp │ │ ├── sceneconfiguration.h │ │ ├── sceneconfiguration.ui │ │ ├── systeminformation.cpp │ │ ├── systeminformation.h │ │ ├── systeminformation.ui │ │ ├── welcomescreen.cpp │ │ ├── welcomescreen.h │ │ └── welcomescreen.ui │ ├── images.qrc │ ├── images │ │ ├── PatternPaint-Splash-Screen.png │ │ ├── README_ICONS.md │ │ ├── icons │ │ │ ├── Add File-100.png │ │ │ ├── Add Image-100.png │ │ │ ├── Brush-100.png │ │ │ ├── Color Dropper-100.png │ │ │ ├── Create New-100.png │ │ │ ├── Deadly Spray-100.png │ │ │ ├── Downloading Updates-100.png │ │ │ ├── Fast Forward-100.png │ │ │ ├── Fill Color-100.png │ │ │ ├── Line-100.png │ │ │ ├── Minus-100.png │ │ │ ├── Pause-100.png │ │ │ ├── Pencil-100.png │ │ │ ├── Play-100.png │ │ │ ├── Redo-100.png │ │ │ ├── Remove Image-100.png │ │ │ ├── Rewind-100.png │ │ │ ├── Save-100.png │ │ │ ├── Undo-100.png │ │ │ ├── Zoom In-100.png │ │ │ ├── Zoom Out-100.png │ │ │ ├── Zoom To Extents-100.png │ │ │ ├── Zoom To Height-100.png │ │ │ └── Zoom To Width-100.png │ │ ├── instruments-icons │ │ │ ├── cursor.png │ │ │ ├── cursor_fill.png │ │ │ ├── cursor_pipette.png │ │ │ └── cursor_spray.png │ │ ├── patternpaint.icns │ │ ├── patternpaint.ico │ │ └── scenetemplates │ │ │ ├── blinkytape.jpg │ │ │ ├── blinkytile.jpg │ │ │ ├── eightbyeight.jpg │ │ │ ├── matrix.jpg │ │ │ ├── pendant.jpg │ │ │ └── pixels.jpg │ ├── instruments │ │ ├── abstractinstrument.cpp │ │ ├── abstractinstrument.h │ │ ├── colorpickerinstrument.cpp │ │ ├── colorpickerinstrument.h │ │ ├── fillinstrument.cpp │ │ ├── fillinstrument.h │ │ ├── instruments.pri │ │ ├── lineinstrument.cpp │ │ ├── lineinstrument.h │ │ ├── pencilinstrument.cpp │ │ ├── pencilinstrument.h │ │ ├── sprayinstrument.cpp │ │ └── sprayinstrument.h │ ├── patternpaint.desktop │ ├── translations.qrc │ ├── translations │ │ ├── patternpaint_de.qm │ │ └── patternpaint_de.ts │ └── updater │ │ ├── autoupdater.cpp │ │ ├── autoupdater.h │ │ ├── cocoainitializer.h │ │ ├── cocoainitializer.mm │ │ ├── sparkleautoupdater.h │ │ ├── sparkleautoupdater.mm │ │ ├── updater.pri │ │ ├── winsparkleautoupdater.cpp │ │ └── winsparkleautoupdater.h ├── gitversion.pri ├── libblinky-test │ ├── avr109commandstests.cpp │ ├── avr109commandstests.h │ ├── blinkypendantcommandstests.cpp │ ├── blinkypendantcommandstests.h │ ├── blinkypendantuploaddatatests.cpp │ ├── blinkypendantuploaddatatests.h │ ├── blinkytapeuploaddatatests.cpp │ ├── blinkytapeuploaddatatests.h │ ├── bytearrayhelperstests.cpp │ ├── bytearrayhelperstests.h │ ├── colormodetests.cpp │ ├── colormodetests.h │ ├── eightbyeightcommandstests.cpp │ ├── eightbyeightcommandstests.h │ ├── esp8266bootloadercommandstests.cpp │ ├── esp8266bootloadercommandstests.h │ ├── exponentialbrightnesstests.cpp │ ├── exponentialbrightnesstests.h │ ├── firmwarereadertests.cpp │ ├── firmwarereadertests.h │ ├── firmwarestoretests.cpp │ ├── firmwarestoretests.h │ ├── fixturetests.cpp │ ├── fixturetests.h │ ├── libblinky-test.pro │ ├── lightbuddycommandstests.cpp │ ├── lightbuddycommandstests.h │ ├── linearfixturetests.cpp │ ├── linearfixturetests.h │ ├── main.cpp │ ├── matrixfixturetests.cpp │ ├── matrixfixturetests.h │ ├── memorymaptests.cpp │ ├── memorymaptests.h │ ├── memorysectiontests.cpp │ ├── memorysectiontests.h │ ├── multitests.h │ ├── patternframemodeltests.cpp │ ├── patternframemodeltests.h │ ├── patternscrollmodeltests.cpp │ ├── patternscrollmodeltests.h │ ├── serialcommandtests.cpp │ └── serialcommandtests.h ├── libblinky.pri ├── libblinky │ ├── avr109commands.cpp │ ├── avr109commands.h │ ├── avr109firmwareloader.cpp │ ├── avr109firmwareloader.h │ ├── blinkycontroller.cpp │ ├── blinkycontroller.h │ ├── blinkycontrollerinfo.cpp │ ├── blinkycontrollerinfo.h │ ├── blinkypendantcommands.cpp │ ├── blinkypendantcommands.h │ ├── blinkypendantuploaddata.cpp │ ├── blinkypendantuploaddata.h │ ├── blinkypendantuploader.cpp │ ├── blinkypendantuploader.h │ ├── blinkytape.cpp │ ├── blinkytape.h │ ├── blinkytapeuploaddata.cpp │ ├── blinkytapeuploaddata.h │ ├── blinkytapeuploader.cpp │ ├── blinkytapeuploader.h │ ├── blinkyuploader.h │ ├── brightnessmodel.cpp │ ├── brightnessmodel.h │ ├── bytearrayhelpers.cpp │ ├── bytearrayhelpers.h │ ├── colormode.cpp │ ├── colormode.h │ ├── eightbyeightcommands.cpp │ ├── eightbyeightcommands.h │ ├── eightbyeightuploader.cpp │ ├── eightbyeightuploader.h │ ├── esp8266bootloadercommands.cpp │ ├── esp8266bootloadercommands.h │ ├── esp8266firmwareloader.cpp │ ├── esp8266firmwareloader.h │ ├── exponentialbrightness.cpp │ ├── exponentialbrightness.h │ ├── firmware │ │ ├── blinkytape │ │ │ ├── default │ │ │ │ ├── README.md │ │ │ │ └── default.hex │ │ │ └── factory │ │ │ │ └── factory.hex │ │ ├── eightbyeight │ │ │ └── default │ │ │ │ └── espfirmware.bin │ │ └── firmware.qrc │ ├── firmwareloader.h │ ├── firmwarereader.cpp │ ├── firmwarereader.h │ ├── firmwarestore.cpp │ ├── firmwarestore.h │ ├── fixture.cpp │ ├── fixture.h │ ├── libblinky.pro │ ├── libblinkyglobal.h │ ├── lightbuddycommands.cpp │ ├── lightbuddycommands.h │ ├── lightbuddyuploader.cpp │ ├── lightbuddyuploader.h │ ├── linearfixture.cpp │ ├── linearfixture.h │ ├── matrixfixture.cpp │ ├── matrixfixture.h │ ├── memorymap.cpp │ ├── memorymap.h │ ├── memorysection.cpp │ ├── memorysection.h │ ├── pattern.cpp │ ├── pattern.h │ ├── patterncollection.cpp │ ├── patterncollection.h │ ├── patterncollectionmodel.cpp │ ├── patterncollectionmodel.h │ ├── patternframemodel.cpp │ ├── patternframemodel.h │ ├── patternframeundocommand.cpp │ ├── patternframeundocommand.h │ ├── patternmodel.h │ ├── patternscrollmodel.cpp │ ├── patternscrollmodel.h │ ├── patternscrollundocommand.cpp │ ├── patternscrollundocommand.h │ ├── patternwriter.cpp │ ├── patternwriter.h │ ├── scenetemplate.cpp │ ├── scenetemplate.h │ ├── serialcommand.cpp │ ├── serialcommand.h │ ├── serialcommandqueue.cpp │ ├── serialcommandqueue.h │ ├── usbdeviceidentifier.cpp │ ├── usbdeviceidentifier.h │ ├── usbutils.cpp │ └── usbutils.h └── libusb.pri ├── thirdparty ├── README.md ├── Sparkle-1.17.0 │ ├── CHANGELOG │ ├── LICENSE │ ├── SampleAppcast.xml │ ├── Sparkle.framework.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── Sparkle │ ├── Sparkle.framework │ │ ├── Headers │ │ ├── Modules │ │ ├── PrivateHeaders │ │ ├── Resources │ │ ├── Sparkle │ │ └── Versions │ │ │ ├── A │ │ │ ├── Headers │ │ │ │ ├── SUAppcast.h │ │ │ │ ├── SUAppcastItem.h │ │ │ │ ├── SUErrors.h │ │ │ │ ├── SUExport.h │ │ │ │ ├── SUStandardVersionComparator.h │ │ │ │ ├── SUUpdater.h │ │ │ │ ├── SUUpdaterDelegate.h │ │ │ │ ├── SUVersionComparisonProtocol.h │ │ │ │ ├── SUVersionDisplayProtocol.h │ │ │ │ └── Sparkle.h │ │ │ ├── Modules │ │ │ │ └── module.modulemap │ │ │ ├── PrivateHeaders │ │ │ │ └── SUUnarchiver.h │ │ │ ├── Resources │ │ │ │ ├── Autoupdate.app │ │ │ │ │ └── Contents │ │ │ │ │ │ ├── Info.plist │ │ │ │ │ │ ├── MacOS │ │ │ │ │ │ ├── Autoupdate │ │ │ │ │ │ └── fileop │ │ │ │ │ │ ├── PkgInfo │ │ │ │ │ │ └── Resources │ │ │ │ │ │ ├── AppIcon.icns │ │ │ │ │ │ ├── SUStatus.nib │ │ │ │ │ │ ├── ar.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── ca.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── cs.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── da.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── de.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── el.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── en.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── es.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── fi.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── fr.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── he.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── is.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── it.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── ja.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── ko.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── nb.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── nl.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── pl.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── pt_BR.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── pt_PT.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── ro.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── ru.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── sk.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── sl.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── sv.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── th.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── tr.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── uk.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ ├── zh_CN.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ │ │ └── zh_TW.lproj │ │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── Info.plist │ │ │ │ ├── SUModelTranslation.plist │ │ │ │ ├── SUStatus.nib │ │ │ │ ├── ar.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ca.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── cs.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── da.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── de.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── el.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── en.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── es.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fi.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fr.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fr_CA.lproj │ │ │ │ ├── he.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── is.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── it.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ja.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ko.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── nb.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── nl.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pl.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pt.lproj │ │ │ │ ├── pt_BR.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pt_PT.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ro.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ru.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sk.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sl.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sv.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── th.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── tr.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── uk.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── zh_CN.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ │ └── zh_TW.lproj │ │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ └── Sparkle.strings │ │ │ └── Sparkle │ │ │ └── Current │ └── bin │ │ ├── BinaryDelta │ │ ├── BinaryDelta.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── BinaryDelta │ │ ├── generate_appcast │ │ ├── generate_appcast.dSYM │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── Resources │ │ │ └── DWARF │ │ │ └── generate_appcast │ │ ├── generate_keys │ │ └── sign_update ├── WinSparkle-0.7.0 │ ├── AUTHORS │ ├── COPYING │ ├── COPYING.expat │ ├── NEWS │ ├── README.md │ ├── Release │ │ ├── WinSparkle.dll │ │ ├── WinSparkle.lib │ │ └── WinSparkle.pdb │ ├── bin │ │ ├── generate_keys.bat │ │ └── sign_update.bat │ ├── include │ │ ├── winsparkle-version.h │ │ └── winsparkle.h │ └── x64 │ │ └── Release │ │ ├── WinSparkle.dll │ │ ├── WinSparkle.lib │ │ └── WinSparkle.pdb ├── libusb-1.0.21 │ ├── AUTHORS │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── NEWS │ ├── PORTING │ ├── README │ ├── TODO │ ├── Xcode │ │ ├── common.xcconfig │ │ ├── config.h │ │ ├── debug.xcconfig │ │ ├── libusb.xcconfig │ │ ├── libusb.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ ├── xcshareddata │ │ │ │ │ └── libusb.xccheckout │ │ │ │ └── xcuserdata │ │ │ │ │ └── hjelmn.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcuserdata │ │ │ │ └── hjelmn.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── all.xcscheme │ │ │ │ ├── dpfp.xcscheme │ │ │ │ ├── dpfp_threaded.xcscheme │ │ │ │ ├── fxload.xcscheme │ │ │ │ ├── libusb 2.xcscheme │ │ │ │ ├── libusb-bundle.xcscheme │ │ │ │ ├── libusb.xcscheme │ │ │ │ ├── listdevs.xcscheme │ │ │ │ ├── xcschememanagement.plist │ │ │ │ └── xusb.xcscheme │ │ ├── libusb_debug.xcconfig │ │ ├── libusb_release.xcconfig │ │ └── release.xcconfig │ ├── aclocal.m4 │ ├── android │ │ ├── README │ │ ├── config.h │ │ └── jni │ │ │ ├── Android.mk │ │ │ ├── Application.mk │ │ │ ├── examples.mk │ │ │ ├── libusb.mk │ │ │ └── tests.mk │ ├── compile │ ├── config.guess │ ├── config.h │ ├── config.h.in │ ├── config.log │ ├── config.status │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── doc │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── doxygen.cfg │ │ └── doxygen.cfg.in │ ├── examples │ │ ├── .deps │ │ │ ├── dpfp.Po │ │ │ ├── dpfp_threaded-dpfp_threaded.Po │ │ │ ├── fxload-ezusb.Po │ │ │ ├── fxload-fxload.Po │ │ │ ├── hotplugtest.Po │ │ │ ├── listdevs.Po │ │ │ ├── sam3u_benchmark.Po │ │ │ ├── testlibusb.Po │ │ │ └── xusb.Po │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── dpfp.c │ │ ├── dpfp_threaded.c │ │ ├── ezusb.c │ │ ├── ezusb.h │ │ ├── fxload.c │ │ ├── getopt │ │ │ ├── getopt.c │ │ │ ├── getopt.h │ │ │ └── getopt1.c │ │ ├── hotplugtest.c │ │ ├── listdevs.c │ │ ├── sam3u_benchmark.c │ │ ├── testlibusb.c │ │ └── xusb.c │ ├── install-sh │ ├── libtool │ ├── libusb-1.0.pc │ ├── libusb-1.0.pc.in │ ├── libusb │ │ ├── .deps │ │ │ ├── libusb_1_0_la-core.Plo │ │ │ ├── libusb_1_0_la-descriptor.Plo │ │ │ ├── libusb_1_0_la-hotplug.Plo │ │ │ ├── libusb_1_0_la-io.Plo │ │ │ ├── libusb_1_0_la-strerror.Plo │ │ │ └── libusb_1_0_la-sync.Plo │ │ ├── .libs │ │ │ ├── libusb-1.0.0.dylib │ │ │ ├── libusb-1.0.a │ │ │ ├── libusb-1.0.dylib │ │ │ ├── libusb-1.0.la │ │ │ ├── libusb-1.0.lai │ │ │ ├── libusb_1_0_la-core.o │ │ │ ├── libusb_1_0_la-descriptor.o │ │ │ ├── libusb_1_0_la-hotplug.o │ │ │ ├── libusb_1_0_la-io.o │ │ │ ├── libusb_1_0_la-strerror.o │ │ │ └── libusb_1_0_la-sync.o │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── core.c │ │ ├── descriptor.c │ │ ├── hotplug.c │ │ ├── hotplug.h │ │ ├── io.c │ │ ├── libusb-1.0.def │ │ ├── libusb-1.0.la │ │ ├── libusb-1.0.rc │ │ ├── libusb.h │ │ ├── libusb_1_0_la-core.lo │ │ ├── libusb_1_0_la-core.o │ │ ├── libusb_1_0_la-descriptor.lo │ │ ├── libusb_1_0_la-descriptor.o │ │ ├── libusb_1_0_la-hotplug.lo │ │ ├── libusb_1_0_la-hotplug.o │ │ ├── libusb_1_0_la-io.lo │ │ ├── libusb_1_0_la-io.o │ │ ├── libusb_1_0_la-strerror.lo │ │ ├── libusb_1_0_la-strerror.o │ │ ├── libusb_1_0_la-sync.lo │ │ ├── libusb_1_0_la-sync.o │ │ ├── libusbi.h │ │ ├── os │ │ │ ├── .deps │ │ │ │ ├── .dirstamp │ │ │ │ ├── haiku_pollfs.Plo │ │ │ │ ├── haiku_usb_backend.Plo │ │ │ │ ├── haiku_usb_raw.Plo │ │ │ │ ├── libusb_1_0_la-darwin_usb.Plo │ │ │ │ ├── libusb_1_0_la-linux_netlink.Plo │ │ │ │ ├── libusb_1_0_la-linux_udev.Plo │ │ │ │ ├── libusb_1_0_la-linux_usbfs.Plo │ │ │ │ ├── libusb_1_0_la-netbsd_usb.Plo │ │ │ │ ├── libusb_1_0_la-openbsd_usb.Plo │ │ │ │ ├── libusb_1_0_la-poll_posix.Plo │ │ │ │ ├── libusb_1_0_la-poll_windows.Plo │ │ │ │ ├── libusb_1_0_la-sunos_usb.Plo │ │ │ │ ├── libusb_1_0_la-threads_posix.Plo │ │ │ │ ├── libusb_1_0_la-threads_windows.Plo │ │ │ │ ├── libusb_1_0_la-windows_nt_common.Plo │ │ │ │ ├── libusb_1_0_la-windows_usbdk.Plo │ │ │ │ └── libusb_1_0_la-windows_winusb.Plo │ │ │ ├── .dirstamp │ │ │ ├── .libs │ │ │ │ ├── libusb_1_0_la-darwin_usb.o │ │ │ │ ├── libusb_1_0_la-poll_posix.o │ │ │ │ └── libusb_1_0_la-threads_posix.o │ │ │ ├── darwin_usb.c │ │ │ ├── darwin_usb.h │ │ │ ├── haiku_pollfs.cpp │ │ │ ├── haiku_usb.h │ │ │ ├── haiku_usb_backend.cpp │ │ │ ├── haiku_usb_raw.cpp │ │ │ ├── haiku_usb_raw.h │ │ │ ├── libusb_1_0_la-darwin_usb.lo │ │ │ ├── libusb_1_0_la-darwin_usb.o │ │ │ ├── libusb_1_0_la-poll_posix.lo │ │ │ ├── libusb_1_0_la-poll_posix.o │ │ │ ├── libusb_1_0_la-threads_posix.lo │ │ │ ├── libusb_1_0_la-threads_posix.o │ │ │ ├── linux_netlink.c │ │ │ ├── linux_udev.c │ │ │ ├── linux_usbfs.c │ │ │ ├── linux_usbfs.h │ │ │ ├── netbsd_usb.c │ │ │ ├── openbsd_usb.c │ │ │ ├── poll_posix.c │ │ │ ├── poll_posix.h │ │ │ ├── poll_windows.c │ │ │ ├── poll_windows.h │ │ │ ├── sunos_usb.c │ │ │ ├── sunos_usb.h │ │ │ ├── threads_posix.c │ │ │ ├── threads_posix.h │ │ │ ├── threads_windows.c │ │ │ ├── threads_windows.h │ │ │ ├── wince_usb.c │ │ │ ├── wince_usb.h │ │ │ ├── windows_common.h │ │ │ ├── windows_nt_common.c │ │ │ ├── windows_nt_common.h │ │ │ ├── windows_usbdk.c │ │ │ ├── windows_usbdk.h │ │ │ ├── windows_winusb.c │ │ │ └── windows_winusb.h │ │ ├── strerror.c │ │ ├── sync.c │ │ ├── version.h │ │ └── version_nano.h │ ├── ltmain.sh │ ├── m4 │ │ ├── libtool.m4 │ │ ├── ltoptions.m4 │ │ ├── ltsugar.m4 │ │ ├── ltversion.m4 │ │ └── lt~obsolete.m4 │ ├── missing │ ├── msvc │ │ ├── appveyor.bat │ │ ├── config.h │ │ ├── ddk_build.cmd │ │ ├── errno.h │ │ ├── fxload_2010.vcxproj │ │ ├── fxload_2010.vcxproj.filters │ │ ├── fxload_2012.vcxproj │ │ ├── fxload_2012.vcxproj.filters │ │ ├── fxload_2013.vcxproj │ │ ├── fxload_2015.vcxproj │ │ ├── fxload_sources │ │ ├── getopt_2005.vcproj │ │ ├── getopt_2010.vcxproj │ │ ├── getopt_2010.vcxproj.filters │ │ ├── getopt_2012.vcxproj │ │ ├── getopt_2012.vcxproj.filters │ │ ├── getopt_2013.vcxproj │ │ ├── getopt_2015.vcxproj │ │ ├── getopt_sources │ │ ├── hotplugtest_2010.vcxproj │ │ ├── hotplugtest_2010.vcxproj.filters │ │ ├── hotplugtest_2012.vcxproj │ │ ├── hotplugtest_2012.vcxproj.filters │ │ ├── hotplugtest_2013.vcxproj │ │ ├── hotplugtest_2015.vcxproj │ │ ├── hotplugtest_sources │ │ ├── inttypes.h │ │ ├── libusb.dsw │ │ ├── libusb_2005.sln │ │ ├── libusb_2010.sln │ │ ├── libusb_2012.sln │ │ ├── libusb_2013.sln │ │ ├── libusb_2015.sln │ │ ├── libusb_dll.dsp │ │ ├── libusb_dll_2005.vcproj │ │ ├── libusb_dll_2010.vcxproj │ │ ├── libusb_dll_2010.vcxproj.filters │ │ ├── libusb_dll_2012.vcxproj │ │ ├── libusb_dll_2012.vcxproj.filters │ │ ├── libusb_dll_2013.vcxproj │ │ ├── libusb_dll_2015.vcxproj │ │ ├── libusb_dll_wince.vcproj │ │ ├── libusb_sources │ │ ├── libusb_static.dsp │ │ ├── libusb_static_2005.vcproj │ │ ├── libusb_static_2010.vcxproj │ │ ├── libusb_static_2010.vcxproj.filters │ │ ├── libusb_static_2012.vcxproj │ │ ├── libusb_static_2012.vcxproj.filters │ │ ├── libusb_static_2013.vcxproj │ │ ├── libusb_static_2015.vcxproj │ │ ├── libusb_static_wince.vcproj │ │ ├── libusb_usbdk_dll_2013.vcxproj │ │ ├── libusb_usbdk_dll_2015.vcxproj │ │ ├── libusb_usbdk_static_2013.vcxproj │ │ ├── libusb_usbdk_static_2015.vcxproj │ │ ├── libusb_wince.sln │ │ ├── listdevs.dsp │ │ ├── listdevs_2005.vcproj │ │ ├── listdevs_2010.vcxproj │ │ ├── listdevs_2010.vcxproj.filters │ │ ├── listdevs_2012.vcxproj │ │ ├── listdevs_2012.vcxproj.filters │ │ ├── listdevs_2013.vcxproj │ │ ├── listdevs_2015.vcxproj │ │ ├── listdevs_sources │ │ ├── listdevs_wince.vcproj │ │ ├── missing.c │ │ ├── missing.h │ │ ├── stdint.h │ │ ├── stress_2005.vcproj │ │ ├── stress_2010.vcxproj │ │ ├── stress_2010.vcxproj.filters │ │ ├── stress_2012.vcxproj │ │ ├── stress_2012.vcxproj.filters │ │ ├── stress_2013.vcxproj │ │ ├── stress_2015.vcxproj │ │ ├── stress_wince.vcproj │ │ ├── xusb.dsp │ │ ├── xusb_2005.vcproj │ │ ├── xusb_2010.vcxproj │ │ ├── xusb_2010.vcxproj.filters │ │ ├── xusb_2012.vcxproj │ │ ├── xusb_2012.vcxproj.filters │ │ ├── xusb_2013.vcxproj │ │ ├── xusb_2015.vcxproj │ │ ├── xusb_sources │ │ └── xusb_wince.vcproj │ ├── osx-install │ │ ├── include │ │ │ └── libusb-1.0 │ │ │ │ └── libusb.h │ │ └── lib │ │ │ ├── libusb-1.0.0.dylib │ │ │ ├── libusb-1.0.a │ │ │ ├── libusb-1.0.dylib │ │ │ ├── libusb-1.0.la │ │ │ └── pkgconfig │ │ │ └── libusb-1.0.pc │ ├── stamp-h1 │ └── tests │ │ ├── .deps │ │ ├── stress.Po │ │ └── testlib.Po │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── libusb_testlib.h │ │ ├── stress.c │ │ └── testlib.c └── libusb-1.0.23-win │ ├── MS32 │ ├── dll │ │ ├── libusb-1.0.dll │ │ ├── libusb-1.0.lib │ │ └── libusb-1.0.pdb │ └── static │ │ └── libusb-1.0.lib │ ├── MS64 │ ├── dll │ │ ├── libusb-1.0.dll │ │ ├── libusb-1.0.lib │ │ └── libusb-1.0.pdb │ └── static │ │ └── libusb-1.0.lib │ ├── MinGW32 │ ├── dll │ │ ├── libusb-1.0.dll │ │ └── libusb-1.0.dll.a │ └── static │ │ └── libusb-1.0.a │ ├── MinGW64 │ ├── dll │ │ ├── libusb-1.0.dll │ │ └── libusb-1.0.dll.a │ └── static │ │ └── libusb-1.0.a │ ├── README.txt │ ├── examples │ ├── bin32 │ │ ├── fxload.exe │ │ ├── listdevs.exe │ │ └── xusb.exe │ ├── bin64 │ │ ├── fxload.exe │ │ ├── listdevs.exe │ │ └── xusb.exe │ └── source │ │ ├── ezusb.c │ │ ├── ezusb.h │ │ ├── fxload.c │ │ ├── listdevs.c │ │ ├── stdint.h │ │ └── xusb.c │ ├── include │ └── libusb-1.0 │ │ └── libusb.h │ └── libusb-1.0.def └── uncrustify.cfg /.github/workflows/linux.yml: -------------------------------------------------------------------------------- 1 | name: Linux build 2 | 3 | on: 4 | push: 5 | branches: 6 | - '*' 7 | tags: 8 | - '*' 9 | pull_request: 10 | branches: 11 | - master 12 | 13 | jobs: 14 | build: 15 | # Run on an older Ubuntu to make flatpack happy 16 | runs-on: ubuntu-18.04 17 | 18 | steps: 19 | - name: Check out 20 | uses: actions/checkout@v2 21 | - name: Install deps 22 | run: sudo apt-get install libusb-1.0-0-dev icnsutils 23 | - name: Get linuxdeployqt 24 | run: wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" 25 | - name: Make linuxdeployqt executable 26 | run: chmod a+x linuxdeployqt-continuous-x86_64.AppImage 27 | - name: Install Qt 28 | uses: jurplel/install-qt-action@v2 29 | - name: build linux 30 | run: ./dist_linux.sh 31 | - name: Save artificat 32 | uses: actions/upload-artifact@v2 33 | with: 34 | name: Appimage 35 | path: build-dist-linux/PatternPaint-*-x86_64.tar.bz2 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | *.swp 3 | src/Makefile 4 | src/*/.tmp 5 | src/*/Makefile 6 | src/*/release 7 | src/*/debug 8 | src/*.user 9 | build-* 10 | PatternPaint/*.user 11 | windows-drivers/* 12 | firmware/* 13 | -------------------------------------------------------------------------------- /PatternPlayer_Sketch/BlinkyTape.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKY_TAPE_H 2 | #define BLINKY_TAPE_H 3 | 4 | #include 5 | 6 | const uint16_t MAX_LEDS = 512; // Maximum number of LEDs that can be controlled 7 | 8 | #define LED_OUT 13 9 | #define BUTTON_IN 10 10 | #define ANALOG_INPUT A9 11 | #define EXTRA_PIN_A 7 12 | #define EXTRA_PIN_B 11 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /PatternPlayer_Sketch/README.md: -------------------------------------------------------------------------------- 1 | # This sketch is the basis for the program that PatternPaint uploads to the BlinkyTape. 2 | 3 | These are the steps that happen when you click upload in pattern paint: 4 | 1. Pattern Paint compresses the current pattern into an RGB565 color space, and then further compresses that data using RLE. 5 | 2. Pattern Paint creates a hex image to flash to the BlinkyTape, by appending the data from that pattern to the data from this sketch. 6 | 3. Pattern Paint uploads this combined image onto the BlinkyTape, effectively reprogramming it. 7 | 4. Pattern Paint sends a reset command to the bootloader and disconnects from it, cauisng the uploaded program to run, and the pattern to display. 8 | -------------------------------------------------------------------------------- /PatternPlayer_Sketch/SerialLoop.h: -------------------------------------------------------------------------------- 1 | #ifndef SERIAL_LOOP_H 2 | #define SERIAL_LOOP_H 3 | 4 | #include 5 | 6 | void serialLoop(CRGB* leds); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /gitversion.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Describe the current project using a git tag, commits since the tag, and hash 4 | 5 | VERSION='0.0.1' 6 | 7 | GIT_VERSION=`git describe --always --tags 2> /dev/null` 8 | export VERSION=`echo ${GIT_VERSION} | sed 's/-/\./g' | sed 's/g//g'` 9 | 10 | echo "PatternPaint version: " ${VERSION} 11 | -------------------------------------------------------------------------------- /src/PatternPaint.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = \ 3 | libblinky \ 4 | libblinky-test \ 5 | app 6 | 7 | libblinky-test.depends = libblinky 8 | app.depends = libblinky 9 | 10 | 11 | DISTFILES += \ 12 | gitversion.pri \ 13 | libusb.pri \ 14 | libblinky.pri 15 | -------------------------------------------------------------------------------- /src/app/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrincipalClass 6 | NSApplication 7 | CFBundleIconFile 8 | @ICON@ 9 | CFBundlePackageType 10 | APPL 11 | CFBundleGetInfoString 12 | Created by Qt/QMake 13 | CFBundleSignature 14 | @TYPEINFO@ 15 | CFBundleExecutable 16 | @EXECUTABLE@ 17 | CFBundleIdentifier 18 | @BUNDLEIDENTIFIER@ 19 | CFBundleShortVersionString 20 | @SHORT_VERSION@ 21 | CFBundleVersion 22 | @FULL_VERSION@ 23 | 24 | NOTE 25 | This file was generated by Qt/QMake. 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/app/examples.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | examples/blinkytape/laser_cat.jpg 4 | examples/matrix/beer.frames.png 5 | examples/matrix/blink_flash.frames.png 6 | examples/matrix/fireworks.frames.png 7 | examples/matrix/saturated_spin.frames.png 8 | examples/pendant/blinkinlabs.png 9 | examples/pendant/heart.png 10 | examples/pendant/iheartohs.png 11 | examples/pendant/nyan-cat.png 12 | examples/pendant/stars.png 13 | examples/blinkytape/whitebeats.png 14 | examples/matrix/tunnel.frames.png 15 | examples/matrix/go forward.png 16 | examples/blinkytape/cylon.png 17 | examples/blinkytile/colors.png 18 | examples/blinkytile/flashlight.png 19 | examples/blinkytile/shadow.png 20 | examples/blinkytile/shimmer.png 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/app/examples/blinkytape/cylon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytape/cylon.png -------------------------------------------------------------------------------- /src/app/examples/blinkytape/laser_cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytape/laser_cat.jpg -------------------------------------------------------------------------------- /src/app/examples/blinkytape/whitebeats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytape/whitebeats.png -------------------------------------------------------------------------------- /src/app/examples/blinkytile/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytile/colors.png -------------------------------------------------------------------------------- /src/app/examples/blinkytile/flashlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytile/flashlight.png -------------------------------------------------------------------------------- /src/app/examples/blinkytile/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytile/shadow.png -------------------------------------------------------------------------------- /src/app/examples/blinkytile/shimmer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/blinkytile/shimmer.png -------------------------------------------------------------------------------- /src/app/examples/matrix/beer.frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/beer.frames.png -------------------------------------------------------------------------------- /src/app/examples/matrix/blink_flash.frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/blink_flash.frames.png -------------------------------------------------------------------------------- /src/app/examples/matrix/fireworks.frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/fireworks.frames.png -------------------------------------------------------------------------------- /src/app/examples/matrix/go forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/go forward.png -------------------------------------------------------------------------------- /src/app/examples/matrix/saturated_spin.frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/saturated_spin.frames.png -------------------------------------------------------------------------------- /src/app/examples/matrix/tunnel.frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/matrix/tunnel.frames.png -------------------------------------------------------------------------------- /src/app/examples/pendant/blinkinlabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/pendant/blinkinlabs.png -------------------------------------------------------------------------------- /src/app/examples/pendant/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/pendant/heart.png -------------------------------------------------------------------------------- /src/app/examples/pendant/iheartohs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/pendant/iheartohs.png -------------------------------------------------------------------------------- /src/app/examples/pendant/nyan-cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/pendant/nyan-cat.png -------------------------------------------------------------------------------- /src/app/examples/pendant/stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/examples/pendant/stars.png -------------------------------------------------------------------------------- /src/app/gui/aboutpatternpaint.h: -------------------------------------------------------------------------------- 1 | #ifndef ABOUTPATTERNPAINT_H 2 | #define ABOUTPATTERNPAINT_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class AboutPatternPaint; 8 | } 9 | 10 | /// Simple dialog box to explain what PatternPaint is. 11 | class AboutPatternPaint : public QDialog 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit AboutPatternPaint(QWidget *parent = 0); 17 | ~AboutPatternPaint(); 18 | 19 | void mousePressEvent(QMouseEvent *event); 20 | 21 | private: 22 | Ui::AboutPatternPaint *ui; 23 | }; 24 | 25 | #endif // ABOUTPATTERNPAINT_H 26 | -------------------------------------------------------------------------------- /src/app/gui/appnap.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef APPNAP_H 7 | #define APPNAP_H 8 | 9 | class CAppNapInhibitor 10 | { 11 | public: 12 | CAppNapInhibitor(const char *strReason); 13 | ~CAppNapInhibitor(); 14 | private: 15 | class Private; 16 | Private *d; 17 | }; 18 | 19 | #endif // APPNAP_H 20 | -------------------------------------------------------------------------------- /src/app/gui/debuglog.h: -------------------------------------------------------------------------------- 1 | #ifndef LOGDIALOG_H 2 | #define LOGDIALOG_H 3 | 4 | #include 5 | #include 6 | 7 | namespace Ui { 8 | class DebugLog; 9 | } 10 | 11 | class DebugLog : public QDialog 12 | { 13 | Q_OBJECT 14 | 15 | private: 16 | DebugLog(QWidget *parent); 17 | 18 | static QPointer _instance; 19 | 20 | static void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg); 21 | 22 | public: 23 | ~DebugLog(); 24 | DebugLog(const DebugLog &) = delete; 25 | void operator=(const DebugLog &) = delete; 26 | 27 | static DebugLog & instance(QWidget *parent = 0); 28 | 29 | void handleMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg); 30 | 31 | private: 32 | Ui::DebugLog *ui; 33 | }; 34 | 35 | #endif // LOGDIALOG_H 36 | -------------------------------------------------------------------------------- /src/app/gui/firmwaremanager.h: -------------------------------------------------------------------------------- 1 | #ifndef FIRMWAREMANAGER_H 2 | #define FIRMWAREMANAGER_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class FirmwareManager; 8 | } 9 | 10 | class FirmwareManager : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit FirmwareManager(QWidget *parent = 0); 16 | ~FirmwareManager(); 17 | 18 | private slots: 19 | 20 | void on_addFirmware_clicked(); 21 | 22 | void on_removeFirmware_clicked(); 23 | 24 | void on_FirmwareList_itemSelectionChanged(); 25 | 26 | private: 27 | Ui::FirmwareManager *ui; 28 | 29 | void fillFirmwareList(); 30 | }; 31 | 32 | #endif // FIRMWAREMANAGER_H 33 | -------------------------------------------------------------------------------- /src/app/gui/instrumentconfiguration.cpp: -------------------------------------------------------------------------------- 1 | #include "instrumentconfiguration.h" 2 | 3 | void InstrumentConfiguration::setToolColor(QColor color) 4 | { 5 | toolColor = color; 6 | } 7 | 8 | void InstrumentConfiguration::setToolSize(int size) 9 | { 10 | toolSize = size; 11 | } 12 | 13 | QColor InstrumentConfiguration::getToolColor() const 14 | { 15 | return toolColor; 16 | } 17 | 18 | int InstrumentConfiguration::getPenSize() const 19 | { 20 | return toolSize; 21 | } 22 | -------------------------------------------------------------------------------- /src/app/gui/instrumentconfiguration.h: -------------------------------------------------------------------------------- 1 | #ifndef TOOLCONFIGURATION_H 2 | #define TOOLCONFIGURATION_H 3 | 4 | #include 5 | #include 6 | 7 | class InstrumentConfiguration : public QObject 8 | { 9 | Q_OBJECT 10 | public: 11 | QColor getToolColor() const; 12 | int getPenSize() const; 13 | 14 | signals: 15 | 16 | public slots: 17 | void setToolColor(QColor color); 18 | void setToolSize(int size); 19 | 20 | private: 21 | QColor toolColor; ///< Color of the current drawing tool (TODO: This should be a pointer to a tool) 22 | int toolSize; ///< Size of the current drawing tool (TODO: This should be a pointer to a tool) 23 | }; 24 | 25 | #endif // TOOLCONFIGURATION_H 26 | -------------------------------------------------------------------------------- /src/app/gui/intervalfilter.cpp: -------------------------------------------------------------------------------- 1 | #include "intervalfilter.h" 2 | 3 | #include 4 | 5 | IntervalFilter::IntervalFilter(qint64 minimumInterval) : 6 | minimumInterval(minimumInterval), 7 | lastEventTime(0) 8 | { 9 | } 10 | 11 | bool IntervalFilter::check() 12 | { 13 | qint64 currentTime = QDateTime::currentMSecsSinceEpoch(); 14 | 15 | bool elapsed = (currentTime - lastEventTime) > minimumInterval; 16 | 17 | if(elapsed) 18 | lastEventTime = currentTime; 19 | 20 | return elapsed; 21 | } 22 | 23 | void IntervalFilter::force() 24 | { 25 | lastEventTime = QDateTime::currentMSecsSinceEpoch(); 26 | } 27 | -------------------------------------------------------------------------------- /src/app/gui/intervalfilter.h: -------------------------------------------------------------------------------- 1 | #ifndef INTERVALFILTER_H 2 | #define INTERVALFILTER_H 3 | 4 | #include 5 | 6 | /// Filter 7 | class IntervalFilter 8 | { 9 | public: 10 | /// Start a new interval filter. 11 | /// @param minimumInterval Minimum elapsed time between events, in ms 12 | IntervalFilter(qint64 minimumInterval); 13 | 14 | /// Check if enough time has elapsed since the last event 15 | bool check(); 16 | 17 | /// Set the last event time to now 18 | void force(); 19 | 20 | private: 21 | qint64 minimumInterval; 22 | qint64 lastEventTime; 23 | }; 24 | 25 | #endif // INTERVALFILTER_H 26 | -------------------------------------------------------------------------------- /src/app/gui/outputpreview.h: -------------------------------------------------------------------------------- 1 | #ifndef OUTPUTPREVIEW_H 2 | #define OUTPUTPREVIEW_H 3 | 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | class OutputPreview : public QWidget 11 | { 12 | Q_OBJECT 13 | public: 14 | explicit OutputPreview(QWidget *parent = 0); 15 | ~OutputPreview(); 16 | 17 | protected: 18 | void paintEvent(QPaintEvent *event); 19 | 20 | signals: 21 | 22 | public slots: 23 | void setFixture(Fixture* newFixture); 24 | void setFrameImage(const QImage &data); 25 | 26 | private: 27 | QPointer fixture; 28 | QImage frameData; 29 | }; 30 | 31 | #endif // OUTPUTPREVIEW_H 32 | -------------------------------------------------------------------------------- /src/app/gui/patterncollectiondelegate.h: -------------------------------------------------------------------------------- 1 | #ifndef PATTERNCOLLECTIONDELEGATE_H 2 | #define PATTERNCOLLECTIONDELEGATE_H 3 | 4 | #include 5 | #include "QPainter" 6 | #include "QImage" 7 | 8 | class PatternCollectionDelegate : public QStyledItemDelegate 9 | { 10 | Q_OBJECT 11 | public: 12 | PatternCollectionDelegate(QObject *parent = 0); 13 | 14 | QWidget *createEditor(QWidget *, const QStyleOptionViewItem &, const QModelIndex &) const 15 | { 16 | return NULL; 17 | } 18 | 19 | virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, 20 | const QModelIndex &index) const; 21 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; 22 | }; 23 | 24 | #endif // PATTERNCOLLECTIONDELEGATE_H 25 | -------------------------------------------------------------------------------- /src/app/gui/patterndelegate.h: -------------------------------------------------------------------------------- 1 | #ifndef PATTERNFRAMEDELEGATE_H 2 | #define PATTERNFRAMEDELEGATE_H 3 | 4 | #include 5 | #include "QPainter" 6 | #include "QImage" 7 | 8 | class PatternDelegate : public QStyledItemDelegate 9 | { 10 | Q_OBJECT 11 | 12 | private: 13 | 14 | QSize getScaledWidgetSize(int height, QSize imageSize) const; 15 | QSize getScaledImageSize(int height, QSize imageSize) const; 16 | 17 | public: 18 | PatternDelegate(QObject *parent = 0); 19 | 20 | QWidget *createEditor(QWidget *, const QStyleOptionViewItem &, const QModelIndex &) const 21 | { 22 | return NULL; 23 | } 24 | 25 | virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, 26 | const QModelIndex &index) const; 27 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &modelIndex) const; 28 | }; 29 | 30 | #endif // PATTERNFRAMEDELEGATE_H 31 | -------------------------------------------------------------------------------- /src/app/gui/patternframelistview.cpp: -------------------------------------------------------------------------------- 1 | #include "patternframelistview.h" 2 | 3 | #include 4 | 5 | PatternFrameListView::PatternFrameListView(QWidget *parent) : 6 | QListView(parent) 7 | { 8 | } 9 | 10 | PatternFrameListView::~PatternFrameListView() 11 | { 12 | } 13 | 14 | void PatternFrameListView::resizeEvent(QResizeEvent *event) 15 | { 16 | // Propigate the new size to the delegate 17 | this->itemDelegate()->sizeHintChanged(QModelIndex()); 18 | 19 | QListView::resizeEvent(event); 20 | } 21 | -------------------------------------------------------------------------------- /src/app/gui/patternframelistview.h: -------------------------------------------------------------------------------- 1 | #ifndef PATTERNFRAMESLISTVIEW_H 2 | #define PATTERNFRAMESLISTVIEW_H 3 | 4 | #include 5 | 6 | class PatternFrameListView : public QListView 7 | { 8 | public: 9 | PatternFrameListView(QWidget *parent); 10 | ~PatternFrameListView(); 11 | 12 | void resizeEvent(QResizeEvent *event); 13 | }; 14 | 15 | #endif // PATTERNFRAMESLISTVIEW_H 16 | -------------------------------------------------------------------------------- /src/app/gui/preferences.h: -------------------------------------------------------------------------------- 1 | #ifndef PREFERENCES_H 2 | #define PREFERENCES_H 3 | 4 | #include "autoupdater.h" 5 | 6 | #include 7 | 8 | namespace Ui { 9 | class Preferences; 10 | } 11 | 12 | class Preferences : public QDialog 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit Preferences(QWidget *parent = 0); 18 | ~Preferences(); 19 | 20 | void setUpdater(AutoUpdater* newAutoUpdater); 21 | 22 | signals: 23 | void checkForUpdates(); 24 | 25 | private slots: 26 | void on_checkForUpdates_clicked(); 27 | 28 | private: 29 | AutoUpdater* autoUpdater; 30 | 31 | Ui::Preferences *ui; 32 | 33 | void accept(); 34 | 35 | // TODO: Move this to a language class 36 | static QMap getLanguageMap(); 37 | }; 38 | 39 | #endif // PREFERENCES_H 40 | -------------------------------------------------------------------------------- /src/app/gui/systeminformation.h: -------------------------------------------------------------------------------- 1 | #ifndef SYSTEMINFORMATION_H 2 | #define SYSTEMINFORMATION_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class SystemInformation; 8 | } 9 | 10 | /// Give some information about the user's system, possible helpful when debugging an issue. 11 | class SystemInformation : public QDialog 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit SystemInformation(QWidget *parent = 0); 17 | ~SystemInformation(); 18 | 19 | private slots: 20 | void on_copyToClipboard_clicked(); 21 | 22 | void on_sendToSupport_clicked(); 23 | 24 | void on_refresh_clicked(); 25 | private: 26 | Ui::SystemInformation *ui; 27 | }; 28 | 29 | #endif // SYSTEMINFORMATION_H 30 | -------------------------------------------------------------------------------- /src/app/gui/welcomescreen.h: -------------------------------------------------------------------------------- 1 | #ifndef WELCOMESCREEN_H 2 | #define WELCOMESCREEN_H 3 | 4 | #include "colormode.h" 5 | #include "scenetemplate.h" 6 | 7 | #include 8 | 9 | namespace Ui { 10 | class WelcomeScreen; 11 | } 12 | 13 | class WelcomeScreen : public QDialog 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit WelcomeScreen(QWidget *parent = 0); 19 | ~WelcomeScreen(); 20 | 21 | SceneTemplate getSelectedTemplate(); 22 | 23 | private slots: 24 | void on_SceneList_doubleClicked(const QModelIndex &index); 25 | 26 | void accept(); 27 | 28 | signals: 29 | void sceneSelected(SceneTemplate sceneTemplate); 30 | 31 | private: 32 | Ui::WelcomeScreen *ui; 33 | }; 34 | 35 | #endif // WELCOMESCREEN_H 36 | -------------------------------------------------------------------------------- /src/app/images/PatternPaint-Splash-Screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/PatternPaint-Splash-Screen.png -------------------------------------------------------------------------------- /src/app/images/README_ICONS.md: -------------------------------------------------------------------------------- 1 | The icons were generated with external tools. 2 | 3 | To re-create them, go to: http://iconverticons.com/online/ 4 | 5 | 1. Upload the file 'blinkytape.jpg' 6 | 2. Download 'Mac OS X Icon' to \images\blinkytape.icns 7 | 3. Download 'Windows Icon' to \blinkytape.ico and \images\blinkytape.ico 8 | 4. Profit 9 | -------------------------------------------------------------------------------- /src/app/images/icons/Add File-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Add File-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Add Image-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Add Image-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Brush-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Brush-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Color Dropper-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Color Dropper-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Create New-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Create New-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Deadly Spray-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Deadly Spray-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Downloading Updates-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Downloading Updates-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Fast Forward-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Fast Forward-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Fill Color-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Fill Color-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Line-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Line-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Minus-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Minus-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Pause-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Pause-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Pencil-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Pencil-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Play-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Play-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Redo-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Redo-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Remove Image-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Remove Image-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Rewind-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Rewind-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Save-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Save-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Undo-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Undo-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Zoom In-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Zoom In-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Zoom Out-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Zoom Out-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Zoom To Extents-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Zoom To Extents-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Zoom To Height-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Zoom To Height-100.png -------------------------------------------------------------------------------- /src/app/images/icons/Zoom To Width-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/icons/Zoom To Width-100.png -------------------------------------------------------------------------------- /src/app/images/instruments-icons/cursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/instruments-icons/cursor.png -------------------------------------------------------------------------------- /src/app/images/instruments-icons/cursor_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/instruments-icons/cursor_fill.png -------------------------------------------------------------------------------- /src/app/images/instruments-icons/cursor_pipette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/instruments-icons/cursor_pipette.png -------------------------------------------------------------------------------- /src/app/images/instruments-icons/cursor_spray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/instruments-icons/cursor_spray.png -------------------------------------------------------------------------------- /src/app/images/patternpaint.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/patternpaint.icns -------------------------------------------------------------------------------- /src/app/images/patternpaint.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/patternpaint.ico -------------------------------------------------------------------------------- /src/app/images/scenetemplates/blinkytape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/blinkytape.jpg -------------------------------------------------------------------------------- /src/app/images/scenetemplates/blinkytile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/blinkytile.jpg -------------------------------------------------------------------------------- /src/app/images/scenetemplates/eightbyeight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/eightbyeight.jpg -------------------------------------------------------------------------------- /src/app/images/scenetemplates/matrix.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/matrix.jpg -------------------------------------------------------------------------------- /src/app/images/scenetemplates/pendant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/pendant.jpg -------------------------------------------------------------------------------- /src/app/images/scenetemplates/pixels.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/images/scenetemplates/pixels.jpg -------------------------------------------------------------------------------- /src/app/instruments/instruments.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | HEADERS += \ 4 | $$PWD/abstractinstrument.h \ 5 | $$PWD/pencilinstrument.h \ 6 | $$PWD/lineinstrument.h \ 7 | $$PWD/colorpickerinstrument.h \ 8 | $$PWD/sprayinstrument.h \ 9 | $$PWD/fillinstrument.h 10 | 11 | SOURCES += \ 12 | $$PWD/abstractinstrument.cpp \ 13 | $$PWD/pencilinstrument.cpp \ 14 | $$PWD/lineinstrument.cpp \ 15 | $$PWD/colorpickerinstrument.cpp \ 16 | $$PWD/sprayinstrument.cpp \ 17 | $$PWD/fillinstrument.cpp 18 | -------------------------------------------------------------------------------- /src/app/patternpaint.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=PatternPaint 3 | Type=Application 4 | Icon=patternpaint 5 | Exec=PatternPaint 6 | Categories=Development; 7 | Comment=Making beautiful light shows is as easy as drawing a picture 8 | -------------------------------------------------------------------------------- /src/app/translations.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | translations/patternpaint_de.qm 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/app/translations/patternpaint_de.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/app/translations/patternpaint_de.qm -------------------------------------------------------------------------------- /src/app/updater/autoupdater.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Remko Troncon 3 | */ 4 | 5 | #include "autoupdater.h" 6 | 7 | AutoUpdater::~AutoUpdater() 8 | { 9 | } 10 | -------------------------------------------------------------------------------- /src/app/updater/autoupdater.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Remko Troncon 3 | */ 4 | 5 | #ifndef AUTOUPDATER_H 6 | #define AUTOUPDATER_H 7 | 8 | #include 9 | 10 | class AutoUpdater 11 | { 12 | public: 13 | virtual ~AutoUpdater(); 14 | 15 | /// Set the language that should be used to display update messages 16 | virtual void setLanguage(const QString &language) = 0; 17 | 18 | /// Initialize the updater, and start checking for updates if auto-updates are enabled. 19 | virtual void init() = 0; 20 | 21 | /// Force an update check, regardless of rate limiting 22 | virtual void checkForUpdates() = 0; 23 | 24 | /// Determine if the auto-updater will run at startup 25 | /// @return true if the auto-updater will run at startup, false otherwise 26 | virtual bool getAutomatic() = 0; 27 | 28 | /// Determine if the auto-updater will run at startup 29 | /// @param true if the auto-updater will run at startup, false otherwise 30 | virtual void setAutomatic(bool setting) = 0; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/app/updater/cocoainitializer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Remko Troncon 3 | */ 4 | 5 | #ifndef COCOAINITIALIZER_H 6 | #define COCOAINITIALIZER_H 7 | 8 | class CocoaInitializer 9 | { 10 | public: 11 | CocoaInitializer(); 12 | ~CocoaInitializer(); 13 | 14 | private: 15 | class Private; 16 | Private *d; 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/app/updater/cocoainitializer.mm: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Remko Troncon 3 | */ 4 | 5 | #include "CocoaInitializer.h" 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | class CocoaInitializer::Private 12 | { 13 | public: 14 | NSAutoreleasePool* autoReleasePool_; 15 | }; 16 | 17 | CocoaInitializer::CocoaInitializer() 18 | { 19 | d = new CocoaInitializer::Private(); 20 | NSApplicationLoad(); 21 | d->autoReleasePool_ = [[NSAutoreleasePool alloc] init]; 22 | } 23 | 24 | CocoaInitializer::~CocoaInitializer() 25 | { 26 | [d->autoReleasePool_ release]; 27 | delete d; 28 | } 29 | -------------------------------------------------------------------------------- /src/app/updater/sparkleautoupdater.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Remko Troncon 3 | */ 4 | 5 | #ifndef SPARKLEAUTOUPDATER_H 6 | #define SPARKLEAUTOUPDATER_H 7 | 8 | #include "AutoUpdater.h" 9 | 10 | class SparkleAutoUpdater : public AutoUpdater 11 | { 12 | public: 13 | SparkleAutoUpdater(const QString &url); 14 | ~SparkleAutoUpdater(); 15 | 16 | void setLanguage(const QString &language); 17 | 18 | void init(); 19 | 20 | void checkForUpdates(); 21 | 22 | bool getAutomatic(); 23 | void setAutomatic(bool setting); 24 | 25 | private: 26 | class Private; 27 | Private *d; 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/app/updater/winsparkleautoupdater.h: -------------------------------------------------------------------------------- 1 | #ifndef WINSPARKLEAUTOUPDATER_H 2 | #define WINSPARKLEAUTOUPDATER_H 3 | 4 | #include "AutoUpdater.h" 5 | 6 | class WinSparkleAutoUpdater : public AutoUpdater 7 | { 8 | public: 9 | WinSparkleAutoUpdater(const QString &url); 10 | ~WinSparkleAutoUpdater(); 11 | 12 | void setLanguage(const QString &language); 13 | 14 | void init(); 15 | 16 | void checkForUpdates(); 17 | 18 | bool getAutomatic(); 19 | void setAutomatic(bool setting); 20 | private: 21 | class Private; 22 | Private *d; 23 | }; 24 | 25 | #endif // WINSPARKLEAUTOUPDATER_H 26 | -------------------------------------------------------------------------------- /src/libblinky-test/avr109commandstests.h: -------------------------------------------------------------------------------- 1 | #ifndef AVR109COMMANDSTESTS_H 2 | #define AVR109COMMANDSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class Avr109CommandsTests: public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void checkDeviceSignatureTest(); 13 | void resetTest(); 14 | void chipEraseTest(); 15 | void setAddressTest(); 16 | 17 | void writeFlashPageTest_data(); 18 | void writeFlashPageTest(); 19 | 20 | void verifyFlashPageTest_data(); 21 | void verifyFlashPageTest(); 22 | 23 | void writeEepromBlockTest(); 24 | 25 | void writeFlashBadAddressTest(); 26 | void writeFlashTest_data(); 27 | void writeFlashTest(); 28 | 29 | void verifyFlashBadAddressTest(); 30 | void verifyFlashTest_data(); 31 | void verifyFlashTest(); 32 | 33 | void writeEepromTest_data(); 34 | void writeEepromTest(); 35 | }; 36 | 37 | TEST_DECLARE(Avr109CommandsTests) 38 | 39 | #endif // AVR109COMMANDSTESTS_H 40 | -------------------------------------------------------------------------------- /src/libblinky-test/blinkypendantcommandstests.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYPENDANTCOMMANDSTESTS_H 2 | #define BLINKYPENDANTCOMMANDSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class BlinkyPendantCommandsTests: public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void commandHeaderTest(); 13 | void startWriteTest(); 14 | void stopWriteTest(); 15 | 16 | void writeFlashChunkTest_data(); 17 | void writeFlashChunkTest(); 18 | 19 | void writeFlashTest_data(); 20 | void writeFlashTest(); 21 | }; 22 | 23 | TEST_DECLARE(BlinkyPendantCommandsTests) 24 | 25 | #endif // BLINKYPENDANTCOMMANDSTESTS_H 26 | -------------------------------------------------------------------------------- /src/libblinky-test/blinkypendantuploaddatatests.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYPENDANTUPLOADDATATESTS_H 2 | #define BLINKYPENDANTUPLOADDATATESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class BlinkyPendantUploadDataTests: public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void makePatternHeaderTableTest(); 13 | void makePatternTableEntryTest(); 14 | 15 | void noPatternsFailsTest(); 16 | void maxPatternsSucceedsTest(); 17 | void tooManyPatternsFailsTest(); 18 | 19 | void wrongEncodingFails(); 20 | // void tooLongFrameCountFails(); 21 | // void tooLongFrameDelayFails(); 22 | void wrongLEDCountFails(); 23 | 24 | void uploadDataTest(); 25 | }; 26 | 27 | TEST_DECLARE(BlinkyPendantUploadDataTests) 28 | 29 | #endif // BLINKYPENDANTUPLOADDATATESTS_H 30 | -------------------------------------------------------------------------------- /src/libblinky-test/blinkytapeuploaddatatests.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYTAPEUPLOADDATATESTS_H 2 | #define BLINKYTAPEUPLOADDATATESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class BlinkyTapeUploadDataTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void makePatternHeaderTableTest(); 13 | void makePatternTableEntryTest(); 14 | 15 | void makeBrightnessTest_data(); 16 | void makeBrightnessTest(); 17 | 18 | void badFirmwareNameTest(); 19 | void noPatternsFailsTest(); 20 | void maxPatternsSucceedsTest(); 21 | void tooManyPatternsFailsTest(); 22 | 23 | void padsFirmwareSectionTest(); 24 | 25 | // TODO: Finish tests! 26 | }; 27 | 28 | TEST_DECLARE(BlinkyTapeUploadDataTests) 29 | 30 | #endif // BLINKYTAPEUPLOADDATATESTS_H 31 | -------------------------------------------------------------------------------- /src/libblinky-test/bytearrayhelperstests.h: -------------------------------------------------------------------------------- 1 | #ifndef BYTEARRAYHELPERSTESTS_H 2 | #define BYTEARRAYHELPERSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class ByteArrayHelpersTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void uint16ToByteArrayLittleTest_data(); 13 | void uint16ToByteArrayLittleTest(); 14 | 15 | void uint16ToByteArrayBigTest_data(); 16 | void uint16ToByteArrayBigTest(); 17 | 18 | void uint32ToByteArrayLittleTest_data(); 19 | void uint32ToByteArrayLittleTest(); 20 | 21 | void uint32ToByteArrayBigTest_data(); 22 | void uint32ToByteArrayBigTest(); 23 | 24 | void byteArrayToUint32LittleTest_data(); 25 | void byteArrayToUint32LittleTest(); 26 | 27 | void byteArrayToUint32BigTest_data(); 28 | void byteArrayToUint32BigTest(); 29 | 30 | void chunkDataTest_data(); 31 | void chunkDataTest(); 32 | 33 | void padToBoundaryTest_data(); 34 | void padToBoundaryTest(); 35 | }; 36 | 37 | TEST_DECLARE(ByteArrayHelpersTests) 38 | 39 | #endif // BYTEARRAYHELPERSTESTS_H 40 | -------------------------------------------------------------------------------- /src/libblinky-test/colormodetests.h: -------------------------------------------------------------------------------- 1 | #ifndef COLORMODETESTS_H 2 | #define COLORMODETESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class ColorModeTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void colorModesTest_data(); 13 | void colorModesTest(); 14 | 15 | void colorModeValidTest_data(); 16 | void colorModeValidTest(); 17 | 18 | void colorToBytesTest_data(); 19 | void colorToBytesTest(); 20 | 21 | void colorToBytesBadModeFailsTest(); 22 | }; 23 | 24 | TEST_DECLARE(ColorModeTests) 25 | 26 | #endif // COLORMODETESTS_H 27 | -------------------------------------------------------------------------------- /src/libblinky-test/eightbyeightcommandstests.h: -------------------------------------------------------------------------------- 1 | #ifndef EIGHTBYEIGHTCOMMANDSTESTS_H 2 | #define EIGHTBYEIGHTCOMMANDSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class EightByEightCommandsTests : public QObject 9 | { 10 | Q_OBJECT 11 | 12 | private slots: 13 | void commandHeaderTest(); 14 | void formatFilesystemTest(); 15 | 16 | void openFileTest(); 17 | void openFileNameTooLongCropsTest(); 18 | 19 | void writeChunkTest_data(); 20 | void writeChunkTest(); 21 | 22 | void writeTest_data(); 23 | void writeTest(); 24 | 25 | void verifyChunkTest_data(); 26 | void verifyChunkTest(); 27 | 28 | void verifyTest_data(); 29 | void verifyTest(); 30 | 31 | void closeFileTest(); 32 | 33 | void lockFileAccessTest(); 34 | void unlockFileAccessTest(); 35 | 36 | void getFirmwareVersionTest(); 37 | }; 38 | 39 | TEST_DECLARE(EightByEightCommandsTests) 40 | 41 | #endif // EIGHTBYEIGHTCOMMANDSTESTS_H 42 | -------------------------------------------------------------------------------- /src/libblinky-test/esp8266bootloadercommandstests.h: -------------------------------------------------------------------------------- 1 | #ifndef ESP8266BOOTLOADERCOMMANDSTESTS_H 2 | #define ESP8266BOOTLOADERCOMMANDSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class Esp8266BootloaderCommandsTests : public QObject 9 | { 10 | Q_OBJECT 11 | 12 | private slots: 13 | void calculateChecksumTest_data(); 14 | void calculateChecksumTest(); 15 | 16 | void buildCommandTest_data(); 17 | void buildCommandTest(); 18 | 19 | void slipEncodeTest_data(); 20 | void slipEncodeTest(); 21 | 22 | void slipDecodeTest_data(); 23 | void slipDecodeTest(); 24 | 25 | void slipEncodeDecodeTest(); 26 | }; 27 | 28 | TEST_DECLARE(Esp8266BootloaderCommandsTests) 29 | 30 | #endif // ESP8266BOOTLOADERCOMMANDSTESTS_H 31 | -------------------------------------------------------------------------------- /src/libblinky-test/exponentialbrightnesstests.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPONENTIALBRIGHTNESSTESTS_H 2 | #define EXPONENTIALBRIGHTNESSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class ExponentialBrightnessTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void constructorTest(); 13 | void constructorZeroTest(); 14 | 15 | void correctTest_data(); 16 | void correctTest(); 17 | }; 18 | 19 | TEST_DECLARE(ExponentialBrightnessTests) 20 | 21 | #endif // EXPONENTIALBRIGHTNESSTESTS_H 22 | -------------------------------------------------------------------------------- /src/libblinky-test/firmwarereadertests.h: -------------------------------------------------------------------------------- 1 | #ifndef FIRMWAREREADERTEST_H 2 | #define FIRMWAREREADERTEST_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class FirmwareReaderTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void parseHexLineBadFormatTest_data(); 13 | void parseHexLineBadFormatTest(); 14 | 15 | void parseHexLineAddressTest_data(); 16 | void parseHexLineAddressTest(); 17 | 18 | void parseHexLineTypeTest_data(); 19 | void parseHexLineTypeTest(); 20 | 21 | void parseHexLineDataTest_data(); 22 | void parseHexLineDataTest(); 23 | }; 24 | 25 | TEST_DECLARE(FirmwareReaderTests) 26 | 27 | #endif // FIRMWAREREADERTEST_H 28 | -------------------------------------------------------------------------------- /src/libblinky-test/firmwarestoretests.h: -------------------------------------------------------------------------------- 1 | #ifndef FIRMWARESTORETESTS_H 2 | #define FIRMWARESTORETESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class FirmwareStoreTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void listFirmwareSearchPathsTest(); 13 | 14 | void addFirmwareBadSourceDirectoryTest(); 15 | void addFirmwareEmptyDirectoryTest(); 16 | void addFirmwareAlreadyExistsTest(); 17 | 18 | void removeFirmwareDoesntExitTest(); 19 | void removeFirmwareDefaultFailsTest(); 20 | 21 | void listAvailableFirmwareBlinkyTapeFirmwaresTest_data(); 22 | void listAvailableFirmwareBlinkyTapeFirmwaresTest(); 23 | 24 | void getFirmwareDirectoryNameDoesntExistTest(); 25 | void getFirmwareDirectoryNameHasBlinkyTapeDefaultTest(); 26 | 27 | void getFirmwareDescriptionDoesntExistTest(); 28 | void getFirmwareDescriptionHasBlinkyTapeDefaultTest(); 29 | 30 | void getFirmwareDataDoesntExistTest(); 31 | void getFirmwareDataHasBlinkyTapeDefaultTest(); 32 | }; 33 | 34 | TEST_DECLARE(FirmwareStoreTests) 35 | 36 | #endif // FIRMWARESTORETESTS_H 37 | -------------------------------------------------------------------------------- /src/libblinky-test/fixturetests.h: -------------------------------------------------------------------------------- 1 | #ifndef FIXTURETESTS_H 2 | #define FIXTURETESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class FixtureTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void setNameTest(); 13 | void setColorModeTest(); 14 | void setBrightnessModelTest(); 15 | void setLocationsTest(); 16 | 17 | void getExtentsTest_data(); 18 | void getExtentsTest(); 19 | 20 | void getColorStreamNullBrightnessModelTest(); 21 | void getColorStreamNullFrameTest(); 22 | void getColorStreamBadLocationsTest(); 23 | void getColorStreamBrightnessModelAppliedTest(); 24 | }; 25 | 26 | TEST_DECLARE(FixtureTests) 27 | 28 | #endif // FIXTURETESTS_H 29 | -------------------------------------------------------------------------------- /src/libblinky-test/lightbuddycommandstests.h: -------------------------------------------------------------------------------- 1 | #ifndef LIGHTBUDDYCOMMANDSTESTS_H 2 | #define LIGHTBUDDYCOMMANDSTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class LightBuddyCommandsTests : public QObject 9 | { 10 | Q_OBJECT 11 | 12 | private slots: 13 | void commandHeaderTest(); 14 | 15 | void eraseFlashTest(); 16 | 17 | void fileNewTest_data(); 18 | void fileNewTest(); 19 | 20 | void writePageTest_data(); 21 | void writePageTest(); 22 | 23 | void reloadAnimationsTest(); 24 | }; 25 | 26 | TEST_DECLARE(LightBuddyCommandsTests) 27 | 28 | #endif // LIGHTBUDDYCOMMANDSTESTS_H 29 | -------------------------------------------------------------------------------- /src/libblinky-test/linearfixturetests.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "linearfixturetests.h" 4 | #include "linearfixture.h" 5 | 6 | void LinearFixtureTests::constructorTest() 7 | { 8 | LinearFixture linearFixture(0); 9 | 10 | QCOMPARE(linearFixture.getLength(), (unsigned int)0); 11 | QCOMPARE(linearFixture.getCount(), (unsigned int)0); 12 | } 13 | 14 | void LinearFixtureTests::setLengthTest_data() 15 | { 16 | QTest::addColumn("length"); 17 | 18 | QTest::newRow("0") << 0u; 19 | QTest::newRow("1") << 1u; 20 | QTest::newRow("10") << 10u; 21 | } 22 | 23 | void LinearFixtureTests::setLengthTest() 24 | { 25 | QFETCH(unsigned int, length); 26 | 27 | LinearFixture linearFixture(0); 28 | 29 | linearFixture.setLength(length); 30 | 31 | QCOMPARE(linearFixture.getLength(), length); 32 | QCOMPARE(linearFixture.getCount(), length); 33 | 34 | for(unsigned int offset = 0; offset < length; offset++) { 35 | QCOMPARE(linearFixture.getLocations().at(offset), QPoint(0,offset)); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/libblinky-test/linearfixturetests.h: -------------------------------------------------------------------------------- 1 | #ifndef LINEARFIXTURETESTS_H 2 | #define LINEARFIXTURETESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class LinearFixtureTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void constructorTest(); 13 | 14 | void setLengthTest_data(); 15 | void setLengthTest(); 16 | 17 | }; 18 | 19 | TEST_DECLARE(LinearFixtureTests) 20 | 21 | #endif // LINEARFIXTURETESTS_H 22 | -------------------------------------------------------------------------------- /src/libblinky-test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "multitests.h" 2 | MULTI_TESTS_MAIN_NOAPP 3 | -------------------------------------------------------------------------------- /src/libblinky-test/matrixfixturetests.h: -------------------------------------------------------------------------------- 1 | #ifndef MATRIXFIXTURETESTS_H 2 | #define MATRIXFIXTURETESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class MatrixFixtureTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void constructorTest(); 13 | 14 | void setSizeTest_data(); 15 | void setSizeTest(); 16 | 17 | void setModeZigZagTest_data(); 18 | void setModeZigZagTest(); 19 | 20 | void setModeRowsTest_data(); 21 | void setModeRowsTest(); 22 | 23 | void setModeColsTest_data(); 24 | void setModeColsTest(); 25 | }; 26 | 27 | TEST_DECLARE(MatrixFixtureTests) 28 | 29 | #endif // MATRIXFIXTURETESTS_H 30 | -------------------------------------------------------------------------------- /src/libblinky-test/memorymaptests.cpp: -------------------------------------------------------------------------------- 1 | #include "memorymaptests.h" 2 | 3 | #include 4 | 5 | #include "memorymap.h" 6 | 7 | void MemoryMapTests::constructorTest() 8 | { 9 | unsigned int start = 10; 10 | unsigned int size = 20; 11 | 12 | MemoryMap memoryMap(start, size); 13 | 14 | QCOMPARE(memoryMap.start, start); 15 | QCOMPARE(memoryMap.size, size); 16 | QVERIFY(memoryMap.memorySections.isEmpty()); 17 | } 18 | 19 | void MemoryMapTests::addSectionTest_data() 20 | { 21 | // QTest::addColumn("memorySection"); 22 | // QTest::addColumn("result"); 23 | 24 | // QTest::newRow("null length") << MemorySection("",0,QByteArray()) << (unsigned int)0; 25 | // QTest::newRow("1 length") << MemorySection("",0,QByteArray(1,'x')) << (unsigned int)0; 26 | // QTest::newRow("big") << MemorySection("",0,QByteArray(999,'x')) << (unsigned int)998; 27 | } 28 | 29 | void MemoryMapTests::addSectionTest() 30 | { 31 | // QFETCH(MemorySection, memorySection); 32 | // QFETCH(bool, result); 33 | // TODO 34 | QVERIFY(true); 35 | } 36 | -------------------------------------------------------------------------------- /src/libblinky-test/memorymaptests.h: -------------------------------------------------------------------------------- 1 | #ifndef MEMORYMAPTESTS_H 2 | #define MEMORYMAPTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class MemoryMapTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void constructorTest(); 13 | 14 | void addSectionTest_data(); 15 | void addSectionTest(); 16 | }; 17 | 18 | TEST_DECLARE(MemoryMapTests) 19 | 20 | #endif // MEMORYMAPTESTS_H 21 | -------------------------------------------------------------------------------- /src/libblinky-test/memorysectiontests.h: -------------------------------------------------------------------------------- 1 | #ifndef FLASHSECTIONTESTS_H 2 | #define FLASHSECTIONTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class MemorySectionTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void EmptyConstructorTest(); 13 | void FullConstructorTest(); 14 | 15 | void extentTest_data(); 16 | void extentTest(); 17 | 18 | void overlapsTest_data(); 19 | void overlapsTest(); 20 | }; 21 | 22 | TEST_DECLARE(MemorySectionTests) 23 | 24 | #endif // FLASHSECTIONTESTS_H 25 | -------------------------------------------------------------------------------- /src/libblinky-test/serialcommandtests.h: -------------------------------------------------------------------------------- 1 | #ifndef SERIALCOMMANDTESTS_H 2 | #define SERIALCOMMANDTESTS_H 3 | 4 | #include "multitests.h" 5 | 6 | #include 7 | 8 | class SerialCommandTests : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void initTest(); 13 | void initMaskedTest(); 14 | 15 | void compareNoMaskTest_data(); 16 | void compareNoMaskTest(); 17 | 18 | void compareMaskTest_data(); 19 | void compareMaskTest(); 20 | 21 | void equalsTest(); 22 | void equalsOperatorNameMismatchTest(); 23 | void equalsOperatorDataMismatchTest(); 24 | void equalsOperatorExpectedResponseMismatchTest(); 25 | void equalsOperatorExpectedResponseMaskMismatchTest(); 26 | void equalsOperatorTimeoutMismatchTest(); 27 | }; 28 | 29 | TEST_DECLARE(SerialCommandTests) 30 | 31 | #endif // SERIALCOMMANDTESTS_H 32 | -------------------------------------------------------------------------------- /src/libblinky.pri: -------------------------------------------------------------------------------- 1 | # TODO: Why does qmake on windows make release and debug dirs, but on macOS it doesn't? 2 | win32:CONFIG(release, debug|release): LIBBLINKYDIR=$$OUT_PWD/../libblinky/release 3 | else:win32:CONFIG(debug, debug|release): LIBBLINKYDIR=$$OUT_PWD/../libblinky/debug 4 | else:unix: LIBBLINKYDIR=$$OUT_PWD/../libblinky 5 | 6 | INCLUDEPATH += $$PWD/libblinky 7 | DEPENDPATH += $$PWD/libblinky 8 | 9 | LIBS += -L$$LIBBLINKYDIR -lblinky 10 | 11 | # TODO: Version strategy? 12 | 13 | macx { 14 | # Copy libusb into the app bundle 15 | libblinky.path = Contents/Frameworks 16 | libblinky.files = $$LIBBLINKYDIR/libblinky.1.0.0.dylib 17 | QMAKE_BUNDLE_DATA += libblinky 18 | 19 | # And add to the rpath so that the app can find the library 20 | QMAKE_RPATHDIR += @executable_path/../Frameworks 21 | } 22 | -------------------------------------------------------------------------------- /src/libblinky/blinkycontroller.cpp: -------------------------------------------------------------------------------- 1 | #include "blinkycontroller.h" 2 | #include "blinkycontrollerinfo.h" 3 | #include "usbutils.h" 4 | #include "usbdeviceidentifier.h" 5 | 6 | #include 7 | #include 8 | 9 | #include "blinkytape.h" 10 | 11 | BlinkyController *BlinkyController::create(const BlinkyControllerInfo &info, QObject *parent) 12 | { 13 | return new BlinkyTape(info.getInfo(), parent); 14 | } 15 | 16 | QList BlinkyController::probeBootloaders() 17 | { 18 | QList serialPorts = usbUtils::getUsefulSerialPorts(); 19 | QList bootloaders; 20 | 21 | for (const QSerialPortInfo &info : serialPorts) { 22 | for(UsbDeviceIdentifier identifier : firmwareLoaders) { 23 | if(identifier.matches(info)) 24 | bootloaders.push_back(info); 25 | } 26 | } 27 | 28 | return bootloaders; 29 | } 30 | 31 | BlinkyController::BlinkyController(QObject *parent) : QObject(parent) 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /src/libblinky/blinkycontrollerinfo.cpp: -------------------------------------------------------------------------------- 1 | #include "blinkycontrollerinfo.h" 2 | #include "usbutils.h" 3 | #include "usbdeviceidentifier.h" 4 | 5 | #include 6 | 7 | QList BlinkyControllerInfo::availableControllers() 8 | { 9 | QList serialPorts = usbUtils::getUsefulSerialPorts(); 10 | QList controllerInfos; 11 | 12 | for (const QSerialPortInfo &info : serialPorts) { 13 | for(UsbDeviceIdentifier identifier : blinkyControllers) { 14 | if(identifier.matches(info)) 15 | controllerInfos.push_back(BlinkyControllerInfo(info)); 16 | } 17 | } 18 | 19 | return controllerInfos; 20 | } 21 | 22 | BlinkyControllerInfo::BlinkyControllerInfo(const QSerialPortInfo &info) : 23 | info(info) 24 | { 25 | 26 | } 27 | 28 | QString BlinkyControllerInfo::resourceName() const 29 | { 30 | return info.portName(); 31 | } 32 | 33 | 34 | const QSerialPortInfo &BlinkyControllerInfo::getInfo() const 35 | { 36 | return info; 37 | } 38 | -------------------------------------------------------------------------------- /src/libblinky/blinkycontrollerinfo.h: -------------------------------------------------------------------------------- 1 | #ifndef CONTROLLERINFO_H 2 | #define CONTROLLERINFO_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include "blinkycontroller.h" 11 | 12 | class LIBBLINKY_EXPORT BlinkyControllerInfo 13 | { 14 | public: 15 | static QList availableControllers(); 16 | 17 | BlinkyControllerInfo(const QSerialPortInfo &info); 18 | 19 | /// Get the resource name used to locate this device 20 | /// For example: Serial port location 21 | QString resourceName() const; 22 | 23 | const QSerialPortInfo &getInfo() const; 24 | 25 | private: 26 | 27 | // TODO: push this to a private stucture 28 | QSerialPortInfo info; 29 | }; 30 | 31 | #endif // CONTROLLERINFO_H 32 | -------------------------------------------------------------------------------- /src/libblinky/blinkypendantcommands.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYPENDANTCOMMANDS_H 2 | #define BLINKYPENDANTCOMMANDS_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "serialcommand.h" 7 | 8 | #include 9 | #include 10 | 11 | namespace BlinkyPendantCommands { 12 | 13 | LIBBLINKY_EXPORT QByteArray commandHeader(); 14 | 15 | LIBBLINKY_EXPORT SerialCommand startWrite(); 16 | 17 | LIBBLINKY_EXPORT SerialCommand writeFlashChunk(const QByteArray &data); 18 | 19 | LIBBLINKY_EXPORT QList writeFlash(const QByteArray &data); 20 | 21 | LIBBLINKY_EXPORT SerialCommand stopWrite(); 22 | 23 | } 24 | 25 | #endif // BLINKYPENDANTCOMMANDS_H 26 | -------------------------------------------------------------------------------- /src/libblinky/blinkypendantuploaddata.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYPENDANTUPLOADDATA_H 2 | #define BLINKYPENDANTUPLOADDATA_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | #include "patternwriter.h" 9 | #include "memorysection.h" 10 | 11 | /// Utility class for assembling flash sections for the BlinkyPendant 12 | class LIBBLINKY_EXPORT BlinkyPendantUploadData 13 | { 14 | public: 15 | enum DisplayMode { 16 | POV = 10, 17 | TIMED = 11, 18 | }; 19 | 20 | static QByteArray makePatternTableHeader(uint8_t patternCount, DisplayMode displayMode); 21 | static QByteArray makePatternTableEntry(uint32_t offset, 22 | uint16_t frameCount, 23 | uint16_t frameDelay); 24 | 25 | bool init(DisplayMode displayMode, 26 | const QList &patternWriters); 27 | 28 | QByteArray data; 29 | 30 | QString errorString; 31 | }; 32 | 33 | #endif // BLINKYPENDANTUPLOADDATA_H 34 | -------------------------------------------------------------------------------- /src/libblinky/blinkytapeuploader.h: -------------------------------------------------------------------------------- 1 | #ifndef BLINKYTAPEUPLOADER_H 2 | #define BLINKYTAPEUPLOADER_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "patternwriter.h" 7 | #include "blinkyuploader.h" 8 | #include "memorysection.h" 9 | #include "avr109firmwareloader.h" 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | // BlinkyTape pattern uploader. Assembles a firmware image that contains a player sketch, pattern table, 16 | // and pattern data, then uploads it using the Avr109 protocol. 17 | class LIBBLINKY_EXPORT BlinkyTapeUploader : public BlinkyUploader 18 | { 19 | Q_OBJECT 20 | 21 | public: 22 | BlinkyTapeUploader(QObject *parent = 0); 23 | 24 | bool storePatterns(BlinkyController &blinky, QList &patternWriters); 25 | QString getErrorString() const; 26 | 27 | QList getSupportedEncodings() const; 28 | 29 | public slots: 30 | void cancel(); 31 | 32 | private: 33 | Avr109FirmwareLoader firmwareLoader; 34 | 35 | QString errorString; 36 | }; 37 | 38 | #endif // BLINKYTAPEUPLOADER_H 39 | -------------------------------------------------------------------------------- /src/libblinky/brightnessmodel.cpp: -------------------------------------------------------------------------------- 1 | #include "brightnessmodel.h" 2 | 3 | BrightnessModel::~BrightnessModel() 4 | { 5 | 6 | } 7 | 8 | QColor BrightnessModel::correct(const QColor &uncorrected) const 9 | { 10 | return uncorrected; 11 | } 12 | -------------------------------------------------------------------------------- /src/libblinky/brightnessmodel.h: -------------------------------------------------------------------------------- 1 | #ifndef BRIGHTNESSMODEL_H 2 | #define BRIGHTNESSMODEL_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | 9 | class LIBBLINKY_EXPORT BrightnessModel : public QObject 10 | { 11 | Q_OBJECT 12 | public: 13 | virtual ~BrightnessModel(); 14 | 15 | /// Perform a brightness correction (from screen space to LED space) 16 | /// on a given color value. Note that it drops the alpha channel. 17 | /// @param uncorrected 32-bit RGB color value in screen space 18 | /// @return 32-bit RGB color value converted to LED space 19 | virtual QColor correct(const QColor &uncorrected) const; 20 | }; 21 | 22 | 23 | #endif // BRIGHTNESSMODEL_H 24 | -------------------------------------------------------------------------------- /src/libblinky/colormode.h: -------------------------------------------------------------------------------- 1 | #ifndef COLORMODE_H 2 | #define COLORMODE_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | enum ColorMode { 11 | RGB, 12 | RBG, 13 | GRB, 14 | GBR, 15 | BRG, 16 | BGR, 17 | COLOR_MODE_COUNT, 18 | }; 19 | 20 | Q_DECLARE_METATYPE(ColorMode) 21 | 22 | struct LIBBLINKY_EXPORT ColorModeNames { 23 | ColorMode colorMode; 24 | QString name; 25 | }; 26 | 27 | 28 | LIBBLINKY_EXPORT QByteArray colorToBytes(ColorMode colorMode, const QColor &color); 29 | 30 | LIBBLINKY_EXPORT bool colorModeValid(ColorMode colorMode); 31 | 32 | LIBBLINKY_EXPORT extern const ColorModeNames colorModeNames[COLOR_MODE_COUNT]; 33 | 34 | #endif // COLORMODE_H 35 | -------------------------------------------------------------------------------- /src/libblinky/exponentialbrightness.cpp: -------------------------------------------------------------------------------- 1 | #include "exponentialbrightness.h" 2 | #include 3 | 4 | #include 5 | 6 | ExponentialBrightness::ExponentialBrightness(float r, float g, float b) : 7 | rFactor_(r), 8 | gFactor_(g), 9 | bFactor_(b) 10 | { 11 | // Avoid zero-value correction factors 12 | if(rFactor_ == 0) { 13 | rFactor_ = ZERO_VALUE; 14 | } 15 | if(gFactor_ == 0) { 16 | gFactor_ = ZERO_VALUE; 17 | } 18 | if(bFactor_ == 0) { 19 | bFactor_ = ZERO_VALUE; 20 | } 21 | } 22 | 23 | float ExponentialBrightness::rFactor() const { 24 | return rFactor_; 25 | } 26 | 27 | float ExponentialBrightness::gFactor() const { 28 | return gFactor_; 29 | } 30 | 31 | float ExponentialBrightness::bFactor() const { 32 | return bFactor_; 33 | } 34 | 35 | QColor ExponentialBrightness::correct(const QColor &uncorrected) const 36 | { 37 | int r = round(255*pow(uncorrected.redF(), rFactor_)); 38 | int g = round(255*pow(uncorrected.greenF(), gFactor_)); 39 | int b = round(255*pow(uncorrected.blueF(), bFactor_)); 40 | 41 | return QColor(r,g,b); 42 | } 43 | -------------------------------------------------------------------------------- /src/libblinky/exponentialbrightness.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPONENTIALBRIGHTNESS_H 2 | #define EXPONENTIALBRIGHTNESS_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "brightnessmodel.h" 7 | 8 | // TODO: Use an actual minimum float value 9 | #define ZERO_VALUE float(.000001) 10 | 11 | class LIBBLINKY_EXPORT ExponentialBrightness : public BrightnessModel 12 | { 13 | public: 14 | ExponentialBrightness(float rFactor, float gFactor, float bFactor); 15 | 16 | QColor correct(const QColor &uncorrected) const; 17 | 18 | float rFactor() const; 19 | float gFactor() const; 20 | float bFactor() const; 21 | 22 | private: 23 | float rFactor_; 24 | float gFactor_; 25 | float bFactor_; 26 | }; 27 | 28 | #endif // EXPONENTIALBRIGHTNESS_H 29 | -------------------------------------------------------------------------------- /src/libblinky/firmware/blinkytape/default/README.md: -------------------------------------------------------------------------------- 1 | Default BlinkyTape Firmware 2 | Use this for all standard functions 3 | -------------------------------------------------------------------------------- /src/libblinky/firmware/eightbyeight/default/espfirmware.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/src/libblinky/firmware/eightbyeight/default/espfirmware.bin -------------------------------------------------------------------------------- /src/libblinky/firmware/firmware.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | blinkytape/default/default.hex 4 | blinkytape/factory/factory.hex 5 | blinkytape/default/README.md 6 | eightbyeight/default/espfirmware.bin 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/libblinky/firmwarereader.h: -------------------------------------------------------------------------------- 1 | #ifndef FIRMWAREIMPORT_H 2 | #define FIRMWAREIMPORT_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "memorysection.h" 7 | 8 | #include 9 | 10 | LIBBLINKY_EXPORT bool parseHexLine(QString line, 11 | unsigned int &address, 12 | unsigned int &type, 13 | QByteArray &data); 14 | 15 | class LIBBLINKY_EXPORT FirmwareReader 16 | { 17 | public: 18 | bool load(const QString &fileName); 19 | 20 | const MemorySection &getData() const; 21 | 22 | private: 23 | MemorySection data; 24 | }; 25 | 26 | #endif // FIRMWAREIMPORT_H 27 | -------------------------------------------------------------------------------- /src/libblinky/firmwarestore.h: -------------------------------------------------------------------------------- 1 | #ifndef FIRMWARESTORE_H 2 | #define FIRMWARESTORE_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | 8 | #include "memorysection.h" 9 | 10 | #define FIRMWARE_FOLDER "/Pattern Paint/Firmware/" /// Default folder for Firmware import 11 | #define FIRMWARE_DESCRIPTION_FILE "README.md" 12 | 13 | // TODO: Put these somewhere specific to the BlinkyTape 14 | #define BLINKYTAPE_FACTORY_FIRMWARE_NAME "factory" 15 | #define BLINKYTAPE_DEFAULT_FIRMWARE_NAME "default" 16 | 17 | class LIBBLINKY_EXPORT FirmwareStore 18 | { 19 | public: 20 | static QStringList listFirmwareSearchPaths(); 21 | static QStringList listAvailableFirmware(); 22 | 23 | static QString getFirmwareDirectoryName(const QString &name); 24 | static QStringList getFirmwareDescription(const QString &name); 25 | static MemorySection getFirmwareData(const QString &name); 26 | 27 | bool addFirmware(const QString &sourcePathName); 28 | bool removeFirmware(const QString &name); 29 | 30 | QString getErrorString() const; 31 | 32 | private: 33 | QString errorString; 34 | }; 35 | 36 | #endif // FIRMWARESTORE_H 37 | -------------------------------------------------------------------------------- /src/libblinky/libblinkyglobal.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBBLINKYGLOBAL_H 2 | #define LIBBLINKYGLOBAL_H 3 | 4 | #ifndef QT_STATIC 5 | # if defined(BUILD_LIBBLINKY_LIB) 6 | # define LIBBLINKY_EXPORT Q_DECL_EXPORT 7 | # else 8 | # define LIBBLINKY_EXPORT Q_DECL_IMPORT 9 | # endif 10 | #else 11 | # define LIBBLINKY_EXPORT 12 | #endif 13 | 14 | #endif // LIBBLINKYGLOBAL_H 15 | -------------------------------------------------------------------------------- /src/libblinky/lightbuddycommands.h: -------------------------------------------------------------------------------- 1 | #ifndef LIGHTBUDDYCOMMANDS_H 2 | #define LIGHTBUDDYCOMMANDS_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "serialcommand.h" 7 | 8 | #include 9 | 10 | namespace LightBuddyCommands { 11 | 12 | LIBBLINKY_EXPORT QByteArray commandHeader(); 13 | 14 | /// Erase the 15 | LIBBLINKY_EXPORT SerialCommand eraseFlash(); 16 | 17 | /// Create a new file, with the given size. The response 18 | /// @param Size of the file, in bytes. Must be smaller than the maximum 19 | /// file size for the controller, or the operation will fail 20 | LIBBLINKY_EXPORT SerialCommand fileNew(uint32_t sizeBytes); 21 | 22 | LIBBLINKY_EXPORT SerialCommand writePage(int sector, int offset, const QByteArray &data); 23 | 24 | LIBBLINKY_EXPORT SerialCommand reloadAnimations(); 25 | } 26 | 27 | #endif // LIGHTBUDDYCOMMANDS_H 28 | -------------------------------------------------------------------------------- /src/libblinky/linearfixture.cpp: -------------------------------------------------------------------------------- 1 | #include "linearfixture.h" 2 | 3 | LinearFixture::LinearFixture(unsigned int length, QObject *parent) : 4 | Fixture(parent) 5 | { 6 | setName("Linear"); 7 | 8 | setLength(length); 9 | } 10 | 11 | unsigned int LinearFixture::getLength() const 12 | { 13 | return length; 14 | } 15 | 16 | void LinearFixture::setLength(unsigned int newLength) 17 | { 18 | length = newLength; 19 | 20 | QList newLocations; 21 | 22 | unsigned int x = 0; 23 | for (unsigned int y = 0; y < newLength; y++) { 24 | newLocations.append(QPoint(x,y)); 25 | } 26 | 27 | setLocations(newLocations); 28 | } 29 | -------------------------------------------------------------------------------- /src/libblinky/linearfixture.h: -------------------------------------------------------------------------------- 1 | #ifndef LINEARFIXTURE_H 2 | #define LINEARFIXTURE_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | 8 | #include "fixture.h" 9 | 10 | class LIBBLINKY_EXPORT LinearFixture : public Fixture 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | LinearFixture(unsigned int length, 16 | QObject *parent = 0); 17 | 18 | unsigned int getLength() const; 19 | void setLength(unsigned int newLength); 20 | 21 | private: 22 | unsigned int length; 23 | }; 24 | 25 | 26 | #endif // LINEARFIXTURE_H 27 | -------------------------------------------------------------------------------- /src/libblinky/matrixfixture.h: -------------------------------------------------------------------------------- 1 | #ifndef MATRIXFIXTURE_H 2 | #define MATRIXFIXTURE_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | 8 | #include "fixture.h" 9 | 10 | class LIBBLINKY_EXPORT MatrixFixture : public Fixture 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | enum MatrixMode { 16 | MODE_ZIGZAG, 17 | MODE_ROWS, 18 | MODE_COLS 19 | }; 20 | 21 | MatrixFixture(QSize size, MatrixMode matrixMode, 22 | QObject *parent = 0); 23 | 24 | QSize getSize() const; 25 | void setSize(QSize newSize); 26 | 27 | MatrixFixture::MatrixMode getMode() const; 28 | void setMode(MatrixFixture::MatrixMode newMode); 29 | 30 | private: 31 | QSize size; 32 | MatrixMode matrixMode; 33 | 34 | void recalculateLocations(); 35 | }; 36 | 37 | #endif // MATRIXFIXTURE_H 38 | -------------------------------------------------------------------------------- /src/libblinky/memorymap.cpp: -------------------------------------------------------------------------------- 1 | #include "memorymap.h" 2 | 3 | MemoryMap::MemoryMap(unsigned int start, unsigned int size) : 4 | start(start), 5 | size(size) 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /src/libblinky/memorymap.h: -------------------------------------------------------------------------------- 1 | #ifndef MEMORYMAP_H 2 | #define MEMORYMAP_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "memorysection.h" 7 | 8 | // Collection of multiple blocks of memory, with checking to 9 | // ensure they are all in bounds and do not overlap 10 | class LIBBLINKY_EXPORT MemoryMap { 11 | public: 12 | MemoryMap(unsigned int start, unsigned int size); 13 | 14 | // Add a new memory section to the map. Fails if the new section 15 | // overlaps an existing section 16 | bool addSection(const MemorySection& section); 17 | 18 | QList memorySections; ///< List of memory sections 19 | 20 | unsigned int start; 21 | unsigned int size; 22 | }; 23 | 24 | #endif // MEMORYMAP_H 25 | -------------------------------------------------------------------------------- /src/libblinky/memorysection.cpp: -------------------------------------------------------------------------------- 1 | #include "memorysection.h" 2 | 3 | MemorySection::MemorySection() : 4 | address(0) 5 | { 6 | } 7 | 8 | MemorySection::MemorySection(const QString& name, unsigned int address, const QByteArray& data) : 9 | name(name), 10 | address(address), 11 | data(data) 12 | { 13 | } 14 | 15 | unsigned int MemorySection::extent() const { 16 | // Special case- zero-length sections are degenerate 17 | if(data.length() == 0) { 18 | return address; 19 | } 20 | 21 | return address + data.length() - 1; 22 | } 23 | 24 | bool MemorySection::overlaps(const MemorySection &rhs) const 25 | { 26 | // Special case- zero-length sections do not overlap 27 | if((data.length() == 0) || (rhs.data.length() == 0)) { 28 | return false; 29 | } 30 | 31 | return((extent() >= rhs.address) && (address <= rhs.extent())); 32 | } 33 | -------------------------------------------------------------------------------- /src/libblinky/memorysection.h: -------------------------------------------------------------------------------- 1 | #ifndef MEMORYSECTION_H 2 | #define MEMORYSECTION_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | // Single contiguous secton of memory, eg flash 12 | struct LIBBLINKY_EXPORT MemorySection { 13 | MemorySection(); 14 | 15 | /// Create a new flash section 16 | /// @param address Address in the flash memory where the data should be stored 17 | /// @param data Data to store 18 | MemorySection(const QString& name, unsigned int address, const QByteArray& data); 19 | 20 | QString name; /// Section name, for debugging 21 | unsigned int address; /// Address to store the data 22 | QByteArray data; /// Data to store 23 | 24 | unsigned int extent() const; /// Calculate the address of the last byte in the section 25 | bool overlaps(const MemorySection &rhs) const; 26 | }; 27 | 28 | Q_DECLARE_METATYPE(MemorySection) 29 | 30 | #endif // MEMORYSECTION_H 31 | -------------------------------------------------------------------------------- /src/libblinky/patterncollection.h: -------------------------------------------------------------------------------- 1 | #ifndef PATTERNCOLLECTION_H 2 | #define PATTERNCOLLECTION_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "patterncollectionmodel.h" 7 | 8 | class LIBBLINKY_EXPORT PatternCollection 9 | { 10 | public: 11 | PatternCollection(); 12 | ~PatternCollection(); 13 | 14 | PatternCollectionModel *getModel(); 15 | 16 | void add(QPointer newPattern, int index); 17 | 18 | void remove(int index); 19 | 20 | void clear(); 21 | 22 | QPointer at(int index) const; 23 | 24 | QList patterns() const; 25 | 26 | int count() const; 27 | 28 | bool isEmpty() const; 29 | 30 | private: 31 | PatternCollectionModel model; 32 | }; 33 | 34 | #endif // PATTERNCOLLECTION_H 35 | -------------------------------------------------------------------------------- /src/libblinky/patternframeundocommand.cpp: -------------------------------------------------------------------------------- 1 | #include "patternframeundocommand.h" 2 | 3 | #include "patternframemodel.h" 4 | 5 | PatternFrameUndoCommand::PatternFrameUndoCommand(PatternFrameModel *item, QUndoCommand *parent) : 6 | QUndoCommand(parent), 7 | patternFrameModel(item) 8 | { 9 | previousState = patternFrameModel->state; 10 | 11 | firstRun = true; 12 | } 13 | 14 | void PatternFrameUndoCommand::undo() 15 | { 16 | currentState = patternFrameModel->state; 17 | patternFrameModel->applyUndoState(previousState); 18 | } 19 | 20 | void PatternFrameUndoCommand::redo() 21 | { 22 | if (firstRun) { 23 | firstRun = false; 24 | return; 25 | } 26 | 27 | patternFrameModel->applyUndoState(currentState); 28 | } 29 | -------------------------------------------------------------------------------- /src/libblinky/patternscrollundocommand.cpp: -------------------------------------------------------------------------------- 1 | #include "patternscrollundocommand.h" 2 | 3 | #include "patternscrollmodel.h" 4 | 5 | PatternScrollUndoCommand::PatternScrollUndoCommand(PatternScrollModel *item, QUndoCommand *parent) : 6 | QUndoCommand(parent), 7 | patternScrollModel(item) 8 | { 9 | previousState = patternScrollModel->state; 10 | 11 | firstRun = true; 12 | } 13 | 14 | void PatternScrollUndoCommand::undo() 15 | { 16 | currentState = patternScrollModel->state; 17 | patternScrollModel->applyUndoState(previousState); 18 | } 19 | 20 | void PatternScrollUndoCommand::redo() 21 | { 22 | if (firstRun) { 23 | firstRun = false; 24 | return; 25 | } 26 | 27 | patternScrollModel->applyUndoState(currentState); 28 | } 29 | -------------------------------------------------------------------------------- /src/libblinky/patternscrollundocommand.h: -------------------------------------------------------------------------------- 1 | #ifndef PATTERNSCROLLUNDOCOMMAND_H 2 | #define PATTERNSCROLLUNDOCOMMAND_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "patternscrollmodel.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | // TODO: Base this on actions, not blindly storing/restoring the state. 13 | 14 | /** 15 | * @brief Class which provides undo/redo actions 16 | * 17 | */ 18 | class LIBBLINKY_EXPORT PatternScrollUndoCommand : public QUndoCommand 19 | { 20 | public: 21 | PatternScrollUndoCommand(PatternScrollModel *item, QUndoCommand *parent = 0); 22 | 23 | void undo(); 24 | void redo(); 25 | 26 | private: 27 | PatternScrollModel::State previousState; 28 | PatternScrollModel::State currentState; 29 | 30 | QPointer patternScrollModel; 31 | bool firstRun; 32 | }; 33 | 34 | #endif // PATTERNSCROLLUNDOCOMMAND_H 35 | -------------------------------------------------------------------------------- /src/libblinky/scenetemplate.h: -------------------------------------------------------------------------------- 1 | #ifndef SCENETEMPLATE_H 2 | #define SCENETEMPLATE_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include "colormode.h" 7 | 8 | #include 9 | #include 10 | 11 | // TODO: Something more flexible 12 | struct LIBBLINKY_EXPORT SceneTemplate { 13 | QString name; 14 | QString photo; 15 | QString examples; 16 | QString controllerType; 17 | QString firmwareName; 18 | QString fixtureType; 19 | ColorMode colorMode; 20 | QSize size; 21 | }; 22 | 23 | #define SCENE_TEMPLATE_COUNT 6 24 | LIBBLINKY_EXPORT extern const SceneTemplate sceneTemplates[SCENE_TEMPLATE_COUNT]; 25 | 26 | #endif // SCENETEMPLATE_H 27 | -------------------------------------------------------------------------------- /src/libblinky/usbdeviceidentifier.h: -------------------------------------------------------------------------------- 1 | #ifndef USBDEVICEIDENTIFIER_H 2 | #define USBDEVICEIDENTIFIER_H 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | 9 | class LIBBLINKY_EXPORT UsbDeviceIdentifier { 10 | public: 11 | uint16_t vid; 12 | uint16_t pid; 13 | QString name; 14 | 15 | bool matches(const QSerialPortInfo &info) const; 16 | }; 17 | 18 | // List of USB devices that we can associate with a BlinkyController 19 | extern UsbDeviceIdentifier blinkyControllers[6]; 20 | 21 | // List of USB devices that we can associate with a PatternUploader 22 | extern UsbDeviceIdentifier patternUploaders[6]; 23 | 24 | // List of USB devices that we can associate with a FirmwareLoader 25 | extern UsbDeviceIdentifier firmwareLoaders[6]; 26 | 27 | #endif // USBDEVICEIDENTIFIER_H 28 | -------------------------------------------------------------------------------- /src/libblinky/usbutils.h: -------------------------------------------------------------------------------- 1 | #ifndef USBUTILS 2 | #define USBUTILS 3 | 4 | #include "libblinkyglobal.h" 5 | 6 | #include 7 | #include 8 | 9 | // Some probe commands for USB devices, that are probably best integrated somewhere else. 10 | 11 | namespace usbUtils { 12 | 13 | LIBBLINKY_EXPORT QList getUsefulSerialPorts(); 14 | 15 | LIBBLINKY_EXPORT int getVersionForDevice(quint16 idVendor, quint16 idProduct); 16 | 17 | } 18 | 19 | #endif // USBUTILS 20 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.org.sparkle-project.Sparkle 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.17.0 17 | CFBundleVersion 18 | 1.17.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework.dSYM/Contents/Resources/DWARF/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework.dSYM/Contents/Resources/DWARF/Sparkle -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Modules: -------------------------------------------------------------------------------- 1 | Versions/Current/Modules -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/PrivateHeaders: -------------------------------------------------------------------------------- 1 | Versions/Current/PrivateHeaders -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | #if __has_feature(modules) 13 | @import Foundation; 14 | #else 15 | #import 16 | #endif 17 | #import "SUExport.h" 18 | 19 | NS_ASSUME_NONNULL_BEGIN 20 | 21 | @class SUAppcastItem; 22 | SU_EXPORT @interface SUAppcast : NSObject 23 | 24 | @property (copy, nullable) NSString *userAgentString; 25 | 26 | #if __has_feature(objc_generics) 27 | @property (copy, nullable) NSDictionary *httpHeaders; 28 | #else 29 | @property (copy, nullable) NSDictionary *httpHeaders; 30 | #endif 31 | 32 | - (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err; 33 | - (SUAppcast *)copyWithoutDeltaUpdates; 34 | 35 | @property (readonly, copy, nullable) NSArray *items; 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Headers/SUExport.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUExport.h 3 | // Sparkle 4 | // 5 | // Created by Jake Petroules on 2014-08-23. 6 | // Copyright (c) 2014 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SUEXPORT_H 10 | #define SUEXPORT_H 11 | 12 | #ifdef BUILDING_SPARKLE 13 | #define SU_EXPORT __attribute__((visibility("default"))) 14 | #else 15 | #define SU_EXPORT 16 | #endif 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | #if __has_feature(modules) 13 | @import Foundation; 14 | #else 15 | #import 16 | #endif 17 | #import "SUExport.h" 18 | 19 | NS_ASSUME_NONNULL_BEGIN 20 | 21 | /*! 22 | Provides version comparison facilities for Sparkle. 23 | */ 24 | @protocol SUVersionComparison 25 | 26 | /*! 27 | An abstract method to compare two version strings. 28 | 29 | Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, 30 | and NSOrderedSame if they are equivalent. 31 | */ 32 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD! 33 | 34 | @end 35 | 36 | NS_ASSUME_NONNULL_END 37 | #endif 38 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionDisplayProtocol.h 3 | // EyeTV 4 | // 5 | // Created by Uli Kusterer on 08.12.09. 6 | // Copyright 2009 Elgato Systems GmbH. All rights reserved. 7 | // 8 | 9 | #if __has_feature(modules) 10 | @import Foundation; 11 | #else 12 | #import 13 | #endif 14 | #import "SUExport.h" 15 | 16 | /*! 17 | Applies special display formatting to version numbers. 18 | */ 19 | @protocol SUVersionDisplay 20 | 21 | /*! 22 | Formats two version strings. 23 | 24 | Both versions are provided so that important distinguishing information 25 | can be displayed while also leaving out unnecessary/confusing parts. 26 | */ 27 | - (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import "SUAppcast.h" 16 | #import "SUAppcastItem.h" 17 | #import "SUStandardVersionComparator.h" 18 | #import "SUUpdater.h" 19 | #import "SUUpdaterDelegate.h" 20 | #import "SUVersionComparisonProtocol.h" 21 | #import "SUVersionDisplayProtocol.h" 22 | #import "SUErrors.h" 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module Sparkle { 2 | umbrella header "Sparkle.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUUnarchiver.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @protocol SUUnarchiverProtocol; 14 | 15 | @interface SUUnarchiver : NSObject 16 | 17 | + (nullable id )unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/SUStatus.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/fr_CA.lproj: -------------------------------------------------------------------------------- 1 | fr.lproj -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt.lproj: -------------------------------------------------------------------------------- 1 | pt_BR.lproj -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/A/Sparkle -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/BinaryDelta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/bin/BinaryDelta -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/BinaryDelta.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.BinaryDelta 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/generate_appcast: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/bin/generate_appcast -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/generate_appcast.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.generate_appcast 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/Sparkle-1.17.0/bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/generate_keys: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | for file in "dsaparam.pem" "dsa_priv.pem" "dsa_pub.pem"; do 4 | if [ -e "$file" ]; then 5 | echo "There's already a $file here! Move it aside or be more careful!" 6 | exit 1 7 | fi 8 | done 9 | 10 | openssl="/usr/bin/openssl" 11 | $openssl gendsa <($openssl dsaparam 4096) -out dsa_priv.pem 12 | chmod 0400 dsa_priv.pem 13 | $openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem 14 | 15 | echo " 16 | Generated two files: 17 | dsa_priv.pem: your private key. Keep it secret and don't share it! 18 | dsa_pub.pem: public counterpart to include in the app bundle. 19 | 20 | BACK UP YOUR PRIVATE KEY AND KEEP IT SAFE! 21 | If you lose it, your users will be unable to upgrade! 22 | " 23 | 24 | open -R dsa_priv.pem 25 | -------------------------------------------------------------------------------- /thirdparty/Sparkle-1.17.0/bin/sign_update: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -o pipefail 4 | if [ "$#" -ne 2 ]; then 5 | echo "Usage: $0 update_archive private_key" 6 | exit 1 7 | fi 8 | openssl=/usr/bin/openssl 9 | $openssl dgst -sha1 -binary < "$1" | $openssl dgst -dss1 -sign "$2" | $openssl enc -base64 10 | -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/AUTHORS: -------------------------------------------------------------------------------- 1 | Maintainer: 2 | 3 | Vaclav Slavik 4 | 5 | 6 | Contributors: 7 | 8 | Kohan Ikin 9 | Christian L. Jacobsen 10 | Littleboy 11 | Vasco Veloso 12 | Jonas Emanuel Mueller 13 | -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/Release/WinSparkle.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/Release/WinSparkle.dll -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/Release/WinSparkle.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/Release/WinSparkle.lib -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/Release/WinSparkle.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/Release/WinSparkle.pdb -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/bin/generate_keys.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | FOR %%i IN ("dsaparam.pem" "dsa_priv.pem" "dsa_pub.pem") DO ( 4 | if exist %%i ( 5 | echo There's already a %%i here! Move it aside or be more careful! 6 | exit /b 1 7 | ) 8 | ) 9 | 10 | openssl dsaparam 4096 > dsaparam.pem 11 | 12 | openssl gendsa -out dsa_priv.pem dsaparam.pem 13 | del /F /Q dsaparam.pem 14 | openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem 15 | 16 | FOR %%i IN ("dsa_priv.pem" "dsa_pub.pem") DO ( 17 | if not exist %%i ( 18 | echo Failed to create %%i! 19 | exit /b 1 20 | ) 21 | ) 22 | 23 | echo[ 24 | echo Generated two files: 25 | echo dsa_priv.pem: your private key. Keep it secret and don't share it! 26 | echo dsa_pub.pem: public counterpart to include in youe app. 27 | 28 | echo BACK UP YOUR PRIVATE KEY AND KEEP IT SAFE! 29 | echo If you lose it, your users will be unable to upgrade! 30 | echo[ 31 | -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/bin/sign_update.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set argC=0 4 | for %%i in (%*) do set /A argC+=1 5 | 6 | if not "%argC%"=="2" ( 7 | echo Usage: %0 update_file private_key 8 | exit /b 1 9 | ) 10 | 11 | openssl dgst -sha1 -binary < "%~1" | openssl dgst -sha1 -sign "%~2" | openssl enc -base64 12 | -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.dll -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.lib -------------------------------------------------------------------------------- /thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/WinSparkle-0.7.0/x64/Release/WinSparkle.pdb -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip 2 | ACLOCAL_AMFLAGS = -I m4 3 | DISTCLEANFILES = libusb-1.0.pc 4 | EXTRA_DIST = TODO PORTING msvc libusb/libusb-1.0.def libusb/version_nano.h \ 5 | examples/getopt/getopt.c examples/getopt/getopt1.c examples/getopt/getopt.h \ 6 | android Xcode 7 | SUBDIRS = libusb doc 8 | 9 | if BUILD_EXAMPLES 10 | SUBDIRS += examples 11 | endif 12 | 13 | if BUILD_TESTS 14 | SUBDIRS += tests 15 | endif 16 | 17 | pkgconfigdir=$(libdir)/pkgconfig 18 | pkgconfig_DATA=libusb-1.0.pc 19 | 20 | .PHONY: dist-up 21 | 22 | reldir = .release/$(distdir) 23 | dist-up: dist 24 | rm -rf $(reldir) 25 | mkdir -p $(reldir) 26 | cp $(distdir).tar.bz2 $(reldir) 27 | rsync -rv $(reldir) frs.sourceforge.net:/home/frs/project/l/li/libusb/libusb-1.0/ 28 | rm -rf $(reldir) 29 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/NEWS: -------------------------------------------------------------------------------- 1 | For the latest libusb news, please refer to the ChangeLog file, or visit: 2 | http://libusb.info 3 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/TODO: -------------------------------------------------------------------------------- 1 | Please see the libusb roadmap by visiting: 2 | https://github.com/libusb/libusb/milestones?direction=asc&sort=due_date&state=open 3 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/config.h: -------------------------------------------------------------------------------- 1 | /* config.h. Manually generated for Xcode. */ 2 | 3 | /* Default visibility */ 4 | #define DEFAULT_VISIBILITY /**/ 5 | 6 | /* Message logging */ 7 | #define ENABLE_LOGGING 1 8 | 9 | /* Define to 1 if you have the `gettimeofday' function. */ 10 | #define HAVE_GETTIMEOFDAY 1 11 | 12 | /* Define to 1 if you have the header file. */ 13 | #define HAVE_POLL_H 1 14 | 15 | /* Define to 1 if you have the header file. */ 16 | #define HAVE_SYS_TIME_H 1 17 | 18 | /* Darwin backend */ 19 | #define OS_DARWIN 1 20 | 21 | /* type of second poll() argument */ 22 | #define POLL_NFDS_TYPE nfds_t 23 | 24 | /* Use POSIX Threads */ 25 | #define THREADS_POSIX 1 26 | 27 | /* Use GNU extensions */ 28 | #define _GNU_SOURCE 1 29 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/libusb.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | PRODUCT_NAME = libusb-1.0.0 21 | LD_DYLIB_INSTALL_NAME = @rpath/libusb-1.0.0.dylib 22 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/libusb.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/libusb.xcodeproj/project.xcworkspace/xcuserdata/hjelmn.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/Xcode/libusb.xcodeproj/project.xcworkspace/xcuserdata/hjelmn.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/libusb_debug.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "debug.xcconfig" 21 | #include "libusb.xcconfig" 22 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/Xcode/libusb_release.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "release.xcconfig" 21 | #include "libusb.xcconfig" 22 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/android/jni/Android.mk: -------------------------------------------------------------------------------- 1 | # Android build config for libusb, examples and tests 2 | # Copyright © 2012-2013 RealVNC Ltd. 3 | # 4 | # This library is free software; you can redistribute it and/or 5 | # modify it under the terms of the GNU Lesser General Public 6 | # License as published by the Free Software Foundation; either 7 | # version 2.1 of the License, or (at your option) any later version. 8 | # 9 | # This library is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | # Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with this library; if not, write to the Free Software 16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | # 18 | 19 | LOCAL_PATH:= $(call my-dir) 20 | 21 | include $(LOCAL_PATH)/libusb.mk 22 | include $(LOCAL_PATH)/examples.mk 23 | include $(LOCAL_PATH)/tests.mk 24 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/android/jni/Application.mk: -------------------------------------------------------------------------------- 1 | # Android application build config for libusb 2 | # Copyright © 2012-2013 RealVNC Ltd. 3 | # 4 | # This library is free software; you can redistribute it and/or 5 | # modify it under the terms of the GNU Lesser General Public 6 | # License as published by the Free Software Foundation; either 7 | # version 2.1 of the License, or (at your option) any later version. 8 | # 9 | # This library is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | # Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with this library; if not, write to the Free Software 16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | # 18 | 19 | APP_ABI := all 20 | 21 | # Workaround for MIPS toolchain linker being unable to find liblog dependency 22 | # of shared object in NDK versions at least up to r9. 23 | # 24 | APP_LDFLAGS := -llog 25 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/doc/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = doxygen.cfg.in 2 | 3 | docs: doxygen.cfg 4 | doxygen $^ 5 | 6 | docs-upload: docs 7 | ln -s html api-1.0 8 | scp -r api-1.0 pbatard@web.sourceforge.net:/home/project-web/libusb/htdocs 9 | rm -f api-1.0 10 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/dpfp.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/dpfp_threaded-dpfp_threaded.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/fxload-ezusb.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/fxload-fxload.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/hotplugtest.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/listdevs.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/sam3u_benchmark.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/testlibusb.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/.deps/xusb.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/examples/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/libusb 2 | LDADD = ../libusb/libusb-1.0.la 3 | 4 | noinst_PROGRAMS = listdevs xusb fxload hotplugtest testlibusb 5 | 6 | if HAVE_SIGACTION 7 | noinst_PROGRAMS += dpfp 8 | 9 | if THREADS_POSIX 10 | dpfp_threaded_CFLAGS = $(AM_CFLAGS) 11 | noinst_PROGRAMS += dpfp_threaded 12 | endif 13 | 14 | sam3u_benchmark_SOURCES = sam3u_benchmark.c 15 | noinst_PROGRAMS += sam3u_benchmark 16 | endif 17 | 18 | fxload_SOURCES = ezusb.c ezusb.h fxload.c 19 | fxload_CFLAGS = $(THREAD_CFLAGS) $(AM_CFLAGS) 20 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb-1.0.pc: -------------------------------------------------------------------------------- 1 | prefix=/Users/matthewmets/Blinkinlabs-Repos/PatternPaint/thirdparty/libusb-1.0.21/osx-install 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libusb-1.0 7 | Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace 8 | Version: 1.0.21 9 | Libs: -L${libdir} -lusb-1.0 10 | Libs.private: -lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation 11 | Cflags: -I${includedir}/libusb-1.0 12 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb-1.0.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libusb-1.0 7 | Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lusb-1.0 10 | Libs.private: @LIBS@ 11 | Cflags: -I${includedir}/libusb-1.0 12 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.0.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.0.dylib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.dylib: -------------------------------------------------------------------------------- 1 | libusb-1.0.0.dylib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb-1.0.la: -------------------------------------------------------------------------------- 1 | ../libusb-1.0.la -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-core.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-core.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-descriptor.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-descriptor.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-hotplug.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-hotplug.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-io.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-io.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-strerror.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-strerror.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-sync.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/.libs/libusb_1_0_la-sync.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb-1.0.la: -------------------------------------------------------------------------------- 1 | # libusb-1.0.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='libusb-1.0.0.dylib' 9 | 10 | # Names of this library. 11 | library_names='libusb-1.0.0.dylib libusb-1.0.dylib' 12 | 13 | # The name of the static archive. 14 | old_library='libusb-1.0.a' 15 | 16 | # Linker flags that can not go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lobjc' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libusb-1.0. 26 | current=1 27 | age=1 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=no 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/matthewmets/Blinkinlabs-Repos/PatternPaint/thirdparty/libusb-1.0.21/osx-install/lib' 42 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-core.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-core.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-core.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-core.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-core.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-core.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-descriptor.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-descriptor.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-descriptor.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-descriptor.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-descriptor.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-descriptor.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-hotplug.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-hotplug.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-hotplug.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-hotplug.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-hotplug.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-hotplug.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-io.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-io.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-io.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-io.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-io.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-io.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-strerror.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-strerror.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-strerror.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-strerror.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-strerror.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-strerror.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-sync.lo: -------------------------------------------------------------------------------- 1 | # libusb_1_0_la-sync.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-sync.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-sync.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-sync.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/libusb_1_0_la-sync.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/.dirstamp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/.deps/.dirstamp -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/haiku_pollfs.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/haiku_usb_backend.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/haiku_usb_raw.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-linux_netlink.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-linux_udev.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-linux_usbfs.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-netbsd_usb.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-openbsd_usb.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-poll_windows.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-sunos_usb.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-threads_windows.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-windows_nt_common.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-windows_usbdk.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.deps/libusb_1_0_la-windows_winusb.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.dirstamp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/.dirstamp -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-darwin_usb.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-darwin_usb.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-poll_posix.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-poll_posix.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-threads_posix.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/.libs/libusb_1_0_la-threads_posix.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-darwin_usb.lo: -------------------------------------------------------------------------------- 1 | # os/libusb_1_0_la-darwin_usb.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-darwin_usb.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-darwin_usb.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-darwin_usb.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-darwin_usb.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-poll_posix.lo: -------------------------------------------------------------------------------- 1 | # os/libusb_1_0_la-poll_posix.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-poll_posix.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-poll_posix.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-poll_posix.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-poll_posix.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-threads_posix.lo: -------------------------------------------------------------------------------- 1 | # os/libusb_1_0_la-threads_posix.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.2 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libusb_1_0_la-threads_posix.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libusb_1_0_la-threads_posix.o' 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-threads_posix.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/libusb/os/libusb_1_0_la-threads_posix.o -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/os/poll_posix.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBUSB_POLL_POSIX_H 2 | #define LIBUSB_POLL_POSIX_H 3 | 4 | #define usbi_write write 5 | #define usbi_read read 6 | #define usbi_close close 7 | #define usbi_poll poll 8 | 9 | int usbi_pipe(int pipefd[2]); 10 | 11 | #endif /* LIBUSB_POLL_POSIX_H */ 12 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/version.h: -------------------------------------------------------------------------------- 1 | /* This file is parsed by m4 and windres and RC.EXE so please keep it simple. */ 2 | #include "version_nano.h" 3 | #ifndef LIBUSB_MAJOR 4 | #define LIBUSB_MAJOR 1 5 | #endif 6 | #ifndef LIBUSB_MINOR 7 | #define LIBUSB_MINOR 0 8 | #endif 9 | #ifndef LIBUSB_MICRO 10 | #define LIBUSB_MICRO 21 11 | #endif 12 | #ifndef LIBUSB_NANO 13 | #define LIBUSB_NANO 0 14 | #endif 15 | /* LIBUSB_RC is the release candidate suffix. Should normally be empty. */ 16 | #ifndef LIBUSB_RC 17 | #define LIBUSB_RC "" 18 | #endif 19 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/libusb/version_nano.h: -------------------------------------------------------------------------------- 1 | #define LIBUSB_NANO 11156 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/fxload_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {651ff73d-037b-4903-8dd3-56e9950be25c} 10 | 11 | 12 | 13 | 14 | Source Files 15 | 16 | 17 | Source Files 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/fxload_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {651ff73d-037b-4903-8dd3-56e9950be25c} 10 | 11 | 12 | 13 | 14 | Source Files 15 | 16 | 17 | Source Files 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/fxload_sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=fxload 2 | TARGETTYPE=PROGRAM 3 | 386_STDCALL=0 4 | 5 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 6 | 7 | !IFNDEF MSC_WARNING_LEVEL 8 | MSC_WARNING_LEVEL=/W3 9 | !ENDIF 10 | 11 | !IFDEF STATIC_LIBC 12 | USE_LIBCMT=1 13 | !ELSE 14 | USE_MSVCRT=1 15 | !ENDIF 16 | 17 | UMTYPE=console 18 | INCLUDES=..\..\msvc;..\..\libusb;..\getopt;$(DDK_INC_PATH) 19 | C_DEFINES=$(C_DEFINES) /D__GNU_LIBRARY__ 20 | UMLIBS=..\..\libusb\os\obj$(BUILD_ALT_DIR)\*\libusb-1.0.lib \ 21 | ..\getopt\getopt_ddkbuild\obj$(BUILD_ALT_DIR)\*\getopt.lib 22 | SOURCES=..\ezusb.c \ 23 | ..\fxload.c 24 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/getopt_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/getopt_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/getopt_sources: -------------------------------------------------------------------------------- 1 | TARGETTYPE=LIBRARY 2 | TARGETNAME=getopt 3 | 386_STDCALL=0 4 | 5 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 6 | 7 | !IFNDEF MSC_WARNING_LEVEL 8 | MSC_WARNING_LEVEL=/W3 9 | !ENDIF 10 | 11 | USE_MSVCRT=1 12 | 13 | INCLUDES=$(DDK_INC_PATH) 14 | C_DEFINES = $(C_DEFINES) /DDDKBUILD /DHAVE_STRING_H 15 | 16 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 17 | $(SDK_LIB_PATH)\user32.lib 18 | 19 | SOURCES=..\getopt1.c \ 20 | ..\getopt.c 21 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/hotplugtest_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/hotplugtest_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/hotplugtest_sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=hotplugtest 2 | TARGETTYPE=PROGRAM 3 | 386_STDCALL=0 4 | 5 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 6 | 7 | !IFNDEF MSC_WARNING_LEVEL 8 | MSC_WARNING_LEVEL=/W3 9 | !ENDIF 10 | 11 | !IFDEF STATIC_LIBC 12 | USE_LIBCMT=1 13 | !ELSE 14 | USE_MSVCRT=1 15 | !ENDIF 16 | 17 | UMTYPE=console 18 | INCLUDES=..\..\msvc;..\..\libusb;$(DDK_INC_PATH) 19 | UMLIBS=..\..\libusb\os\obj$(BUILD_ALT_DIR)\*\libusb-1.0.lib 20 | SOURCES=..\hotplugtest.c 21 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/listdevs_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/listdevs_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/listdevs_sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=listdevs 2 | TARGETTYPE=PROGRAM 3 | 386_STDCALL=0 4 | 5 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 6 | !IFNDEF MSC_WARNING_LEVEL 7 | MSC_WARNING_LEVEL=/W3 8 | !ENDIF 9 | 10 | !IFDEF STATIC_LIBC 11 | USE_LIBCMT=1 12 | !ELSE 13 | USE_MSVCRT=1 14 | !ENDIF 15 | 16 | UMTYPE=console 17 | INCLUDES=..\..\libusb;$(DDK_INC_PATH) 18 | UMLIBS=..\..\libusb\os\obj$(BUILD_ALT_DIR)\*\libusb-1.0.lib 19 | SOURCES=..\listdevs.c 20 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/stress_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {28b6220e-d087-4f48-bd69-ffe0ac5bcc7a} 10 | 11 | 12 | 13 | 14 | Source Files 15 | 16 | 17 | Source Files 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/stress_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {28b6220e-d087-4f48-bd69-ffe0ac5bcc7a} 10 | 11 | 12 | 13 | 14 | Source Files 15 | 16 | 17 | Source Files 18 | 19 | 20 | 21 | 22 | Header Files 23 | 24 | 25 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/xusb_2010.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/xusb_2012.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/msvc/xusb_sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=xusb 2 | TARGETTYPE=PROGRAM 3 | 386_STDCALL=0 4 | 5 | _NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP) 6 | 7 | !IFNDEF MSC_WARNING_LEVEL 8 | MSC_WARNING_LEVEL=/W3 9 | !ENDIF 10 | 11 | !IFDEF STATIC_LIBC 12 | USE_LIBCMT=1 13 | !ELSE 14 | USE_MSVCRT=1 15 | !ENDIF 16 | 17 | UMTYPE=console 18 | INCLUDES=..\..\msvc;..\..\libusb;$(DDK_INC_PATH) 19 | UMLIBS=..\..\libusb\os\obj$(BUILD_ALT_DIR)\*\libusb-1.0.lib 20 | SOURCES=..\xusb.c 21 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/osx-install/lib/libusb-1.0.0.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/osx-install/lib/libusb-1.0.0.dylib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/osx-install/lib/libusb-1.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.21/osx-install/lib/libusb-1.0.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/osx-install/lib/libusb-1.0.dylib: -------------------------------------------------------------------------------- 1 | libusb-1.0.0.dylib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/osx-install/lib/pkgconfig/libusb-1.0.pc: -------------------------------------------------------------------------------- 1 | prefix=/Users/matthewmets/Blinkinlabs-Repos/PatternPaint/thirdparty/libusb-1.0.21/osx-install 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libusb-1.0 7 | Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace 8 | Version: 1.0.21 9 | Libs: -L${libdir} -lusb-1.0 10 | Libs.private: -lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation 11 | Cflags: -I${includedir}/libusb-1.0 12 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/stamp-h1: -------------------------------------------------------------------------------- 1 | timestamp for config.h 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/tests/.deps/stress.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/tests/.deps/testlib.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.21/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/libusb 2 | LDADD = ../libusb/libusb-1.0.la 3 | 4 | noinst_PROGRAMS = stress 5 | 6 | stress_SOURCES = stress.c libusb_testlib.h testlib.c 7 | -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS32/dll/libusb-1.0.pdb -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS64/dll/libusb-1.0.pdb -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW32/dll/libusb-1.0.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW32/dll/libusb-1.0.dll.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW32/static/libusb-1.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW32/static/libusb-1.0.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW64/dll/libusb-1.0.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW64/dll/libusb-1.0.dll.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/MinGW64/static/libusb-1.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/MinGW64/static/libusb-1.0.a -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin32/fxload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin32/fxload.exe -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin32/listdevs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin32/listdevs.exe -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin32/xusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin32/xusb.exe -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin64/fxload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin64/fxload.exe -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin64/listdevs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin64/listdevs.exe -------------------------------------------------------------------------------- /thirdparty/libusb-1.0.23-win/examples/bin64/xusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Blinkinlabs/PatternPaint/c9d17e25c673a440f8a5c21d09191a89af66681b/thirdparty/libusb-1.0.23-win/examples/bin64/xusb.exe --------------------------------------------------------------------------------