PatternPaint
Making beautiful light shows is as easy as drawing a picture with Pattern Paint!
File Explorer
Download Latest Version (.zip)- linux.yml
- patternpaint-osx.xml
- patternpaint-windows.xml
- animation.cpp
- animation.h
- BlinkyTape.h
- PatternPlayer_Sketch.ino
- README.md
- SerialLoop.cpp
- SerialLoop.h
- cylon.png
- laser_cat.jpg
- whitebeats.png
- colors.png
- flashlight.png
- shadow.png
- shimmer.png
- beer.frames.png
- blink_flash.frames.png
- fireworks.frames.png
- go forward.png
- saturated_spin.frames.png
- tunnel.frames.png
- blinkinlabs.png
- heart.png
- iheartohs.png
- nyan-cat.png
- stars.png
- 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
- 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
- cursor.png
- cursor_fill.png
- cursor_pipette.png
- cursor_spray.png
- blinkytape.jpg
- blinkytile.jpg
- eightbyeight.jpg
- matrix.jpg
- pendant.jpg
- pixels.jpg
- PatternPaint-Splash-Screen.png
- patternpaint.icns
- patternpaint.ico
- README_ICONS.md
- 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_de.qm
- patternpaint_de.ts
- autoupdater.cpp
- autoupdater.h
- cocoainitializer.h
- cocoainitializer.mm
- sparkleautoupdater.h
- sparkleautoupdater.mm
- updater.pri
- winsparkleautoupdater.cpp
- winsparkleautoupdater.h
- app.pro
- examples.qrc
- images.qrc
- Info.plist
- patternpaint.desktop
- translations.qrc
- default.hex
- README.md
- factory.hex
- espfirmware.bin
- firmware.qrc
- 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
- 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
- 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
- gitversion.pri
- libblinky.pri
- libusb.pri
- PatternPaint.pro
- Android.mk
- Application.mk
- examples.mk
- libusb.mk
- tests.mk
- config.h
- README
- doxygen.cfg
- doxygen.cfg.in
- Makefile
- Makefile.am
- Makefile.in
- dpfp.Po
- dpfp_threaded-dpfp_threaded.Po
- fxload-ezusb.Po
- fxload-fxload.Po
- hotplugtest.Po
- listdevs.Po
- sam3u_benchmark.Po
- testlibusb.Po
- xusb.Po
- getopt.c
- getopt.h
- getopt1.c
- dpfp.c
- dpfp_threaded.c
- ezusb.c
- ezusb.h
- fxload.c
- hotplugtest.c
- listdevs.c
- Makefile
- Makefile.am
- Makefile.in
- sam3u_benchmark.c
- testlibusb.c
- xusb.c
- 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
- 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
- .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
- libusb_1_0_la-darwin_usb.o
- libusb_1_0_la-poll_posix.o
- libusb_1_0_la-threads_posix.o
- .dirstamp
- 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
- 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
- Makefile
- Makefile.am
- Makefile.in
- strerror.c
- sync.c
- version.h
- version_nano.h
- libtool.m4
- ltoptions.m4
- ltsugar.m4
- ltversion.m4
- lt~obsolete.m4
- 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
- libusb.h
- libusb-1.0.pc
- libusb-1.0.0.dylib
- libusb-1.0.a
- libusb-1.0.dylib
- libusb-1.0.la
- stress.Po
- testlib.Po
- libusb_testlib.h
- Makefile
- Makefile.am
- Makefile.in
- stress.c
- testlib.c
- libusb.xccheckout
- UserInterfaceState.xcuserstate
- contents.xcworkspacedata
- all.xcscheme
- dpfp.xcscheme
- dpfp_threaded.xcscheme
- fxload.xcscheme
- libusb 2.xcscheme
- libusb-bundle.xcscheme
- libusb.xcscheme
- listdevs.xcscheme
- xcschememanagement.plist
- xusb.xcscheme
- project.pbxproj
- common.xcconfig
- config.h
- debug.xcconfig
- libusb.xcconfig
- libusb_debug.xcconfig
- libusb_release.xcconfig
- release.xcconfig
- aclocal.m4
- AUTHORS
- ChangeLog
- compile
- config.guess
- config.h
- config.h.in
- config.log
- config.status
- config.sub
- configure
- configure.ac
- COPYING
- depcomp
- INSTALL
- install-sh
- libtool
- libusb-1.0.pc
- libusb-1.0.pc.in
- ltmain.sh
- Makefile
- Makefile.am
- Makefile.in
- missing
- NEWS
- PORTING
- README
- stamp-h1
- TODO
- fxload.exe
- listdevs.exe
- xusb.exe
- fxload.exe
- listdevs.exe
- xusb.exe
- ezusb.c
- ezusb.h
- fxload.c
- listdevs.c
- stdint.h
- xusb.c
- libusb.h
- libusb-1.0.dll
- libusb-1.0.dll.a
- libusb-1.0.a
- libusb-1.0.dll
- libusb-1.0.dll.a
- libusb-1.0.a
- libusb-1.0.dll
- libusb-1.0.lib
- libusb-1.0.pdb
- libusb-1.0.lib
- libusb-1.0.dll
- libusb-1.0.lib
- libusb-1.0.pdb
- libusb-1.0.lib
- libusb-1.0.def
- README.txt
- BinaryDelta
- Info.plist
- generate_appcast
- Info.plist
- BinaryDelta
- generate_appcast
- generate_keys
- sign_update
- Sparkle.h
- SUAppcast.h
- SUAppcastItem.h
- SUErrors.h
- SUExport.h
- SUStandardVersionComparator.h
- SUUpdater.h
- SUUpdaterDelegate.h
- SUVersionComparisonProtocol.h
- SUVersionDisplayProtocol.h
- module.modulemap
- SUUnarchiver.h
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Autoupdate
- fileop
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- Sparkle.strings
- AppIcon.icns
- SUStatus.nib
- Info.plist
- PkgInfo
- Sparkle.strings
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- Sparkle.strings
- SUAutomaticUpdateAlert.nib
- SUUpdateAlert.nib
- SUUpdatePermissionPrompt.nib
- fr_CA.lproj
- Info.plist
- pt.lproj
- SUModelTranslation.plist
- SUStatus.nib
- Sparkle
- Current
- Headers
- Modules
- PrivateHeaders
- Resources
- Sparkle
- Sparkle
- Info.plist
- CHANGELOG
- LICENSE
- SampleAppcast.xml
- generate_keys.bat
- sign_update.bat
- winsparkle-version.h
- winsparkle.h
- WinSparkle.dll
- WinSparkle.lib
- WinSparkle.pdb
- WinSparkle.dll
- WinSparkle.lib
- WinSparkle.pdb
- AUTHORS
- COPYING
- COPYING.expat
- NEWS
- README.md
- README.md
- .gitignore
- buildBlinkyTapeFirmware.sh
- dist_linux.sh
- dist_macos.sh
- dist_windows.sh
- gitversion.sh
- LICENSE.md
- patternpaint.nsi
- README.md
- README2.md
- uncrustify.cfg
# Installation Guide
git clone https://github.com/Blinkinlabs/PatternPaint
Downloads the entire project code from GitHub to your computer.
cd PatternPaint
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- APT (Debian/Ubuntu ๊ณ์ด) Built into Debian/Ubuntu-based Linux distributions.
sudo apt-get install build-essential mesa-common-dev libglu-mesa1-dev libusb-1.0-0-dev
Installs directly from the APT package repository (Debian/Ubuntu-based).
sudo apt-get install qt58[QTPACKAGE] qt58serialport
Installs directly from the APT package repository (Debian/Ubuntu-based).
Pulled directly from this repo's README.
3. .NET
Mediumcd thirdparty/libusb-1.0.21/msvc
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
4. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
cd thirdparty/libusb-1.0.21
This project's files live in a subfolder, so move into it first.
make
Compiles the code based on the generated build configuration to produce an executable.
