gitextract_7477lgzj/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── build_linux.yml │ ├── build_macos.yml │ ├── build_windows.yml │ ├── coverage.yml │ └── wheels.yml ├── .gitignore ├── .gitmodules ├── CHANGES.md ├── CMakeLists.txt ├── LICENSE ├── LICENSE.COMMERCIAL ├── LICENSE.GPLv3 ├── MANIFEST.in ├── README.rst ├── cmake/ │ ├── ArchivePythonStdlib.py │ └── CodeCoverage.cmake ├── demos/ │ ├── plugin/ │ │ ├── CMakeLists.txt │ │ ├── PopsiclePluginEditor.cpp │ │ ├── PopsiclePluginEditor.h │ │ ├── PopsiclePluginProcessor.cpp │ │ └── PopsiclePluginProcessor.h │ └── standalone/ │ ├── CMakeLists.txt │ ├── Main.cpp │ ├── PopsicleDemo.cpp │ └── PopsicleDemo.h ├── docs/ │ ├── EmbeddingTutorial.rst │ ├── QuickStartGuide.rst │ └── conf.py ├── examples/ │ ├── .gitignore │ ├── __init__.py │ ├── animated_component.py │ ├── audio_device.py │ ├── audio_player.py │ ├── audio_player_waveform.py │ ├── docs.py │ ├── drawables.py │ ├── emojis_component.py │ ├── emojis_font_component.py │ ├── hotreload_component.py │ ├── hotreload_main.py │ ├── juce_init.py │ ├── juce_o_matic.py │ ├── layout_flexgrid.py │ ├── layout_rectangles.py │ ├── matplotlib_integration.py │ ├── nim_audio.nim │ ├── nim_audio_integration.py │ ├── numpy_audio.py │ ├── opencv_integration.py │ ├── opencv_video.py │ ├── opencv_video.xml │ ├── pil_image.py │ ├── radio_buttons_checkboxes.py │ ├── slider_decibels.py │ ├── slider_values.py │ ├── table_list_box.py │ ├── table_list_box.xml │ ├── wavetable_oscillator.py │ ├── wavetable_oscillator_numpy.py │ ├── webgpu/ │ │ ├── __init__.py │ │ ├── cube_popsicle.py │ │ ├── pbr2.py │ │ ├── pbr2_embed.py │ │ ├── pop.py │ │ ├── triangle.py │ │ ├── triangle_popsicle.py │ │ └── triangle_popsicle_embed.py │ └── wip/ │ ├── audio_callback_cpp.py │ ├── audio_player_cpp.py │ ├── copy_image_pixels.py │ └── synth_midi_input.py ├── icons/ │ └── popsicle.icns ├── justfile ├── modules/ │ ├── CMakeLists.txt │ └── juce_python/ │ ├── bindings/ │ │ ├── ScriptJuceAudioBasicsBindings.cpp │ │ ├── ScriptJuceAudioBasicsBindings.h │ │ ├── ScriptJuceAudioDevicesBindings.cpp │ │ ├── ScriptJuceAudioDevicesBindings.h │ │ ├── ScriptJuceAudioFormatsBindings.cpp │ │ ├── ScriptJuceAudioFormatsBindings.h │ │ ├── ScriptJuceAudioProcessorsBindings.cpp │ │ ├── ScriptJuceAudioProcessorsBindings.h │ │ ├── ScriptJuceAudioUtilsBindings.cpp │ │ ├── ScriptJuceAudioUtilsBindings.h │ │ ├── ScriptJuceBindings.cpp │ │ ├── ScriptJuceCoreBindings.cpp │ │ ├── ScriptJuceCoreBindings.h │ │ ├── ScriptJuceDataStructuresBindings.cpp │ │ ├── ScriptJuceDataStructuresBindings.h │ │ ├── ScriptJuceEventsBindings.cpp │ │ ├── ScriptJuceEventsBindings.h │ │ ├── ScriptJuceGraphicsBindings.cpp │ │ ├── ScriptJuceGraphicsBindings.h │ │ ├── ScriptJuceGuiBasicsBindings.cpp │ │ ├── ScriptJuceGuiBasicsBindings.h │ │ ├── ScriptJuceGuiEntryPointsBindings.cpp │ │ ├── ScriptJuceGuiEntryPointsBindings.h │ │ ├── ScriptJuceGuiExtraBindings.cpp │ │ ├── ScriptJuceGuiExtraBindings.h │ │ ├── ScriptJuceOptionsBindings.cpp │ │ └── ScriptJuceOptionsBindings.h │ ├── juce_python.cpp │ ├── juce_python.h │ ├── juce_python.mm │ ├── juce_python_audio_basics.cpp │ ├── juce_python_audio_devices.cpp │ ├── juce_python_audio_formats.cpp │ ├── juce_python_audio_processors.cpp │ ├── juce_python_audio_utils.cpp │ ├── juce_python_bindings.cpp │ ├── juce_python_core.cpp │ ├── juce_python_data_structures.cpp │ ├── juce_python_events.cpp │ ├── juce_python_graphics.cpp │ ├── juce_python_gui_basics.cpp │ ├── juce_python_gui_entry.cpp │ ├── juce_python_gui_extra.cpp │ ├── juce_python_modules.cpp │ ├── juce_python_options.cpp │ ├── modules/ │ │ └── ScriptPopsicleModule.cpp │ ├── pybind11/ │ │ ├── attr.h │ │ ├── buffer_info.h │ │ ├── cast.h │ │ ├── chrono.h │ │ ├── common.h │ │ ├── complex.h │ │ ├── detail/ │ │ │ ├── class.h │ │ │ ├── common.h │ │ │ ├── descr.h │ │ │ ├── init.h │ │ │ ├── internals.h │ │ │ ├── type_caster_base.h │ │ │ └── typeid.h │ │ ├── eigen/ │ │ │ ├── common.h │ │ │ ├── matrix.h │ │ │ └── tensor.h │ │ ├── eigen.h │ │ ├── embed.h │ │ ├── eval.h │ │ ├── functional.h │ │ ├── gil.h │ │ ├── iostream.h │ │ ├── numpy.h │ │ ├── operators.h │ │ ├── options.h │ │ ├── pybind11.h │ │ ├── pytypes.h │ │ ├── stl/ │ │ │ └── filesystem.h │ │ ├── stl.h │ │ ├── stl_bind.h │ │ └── type_caster_pyobject_ptr.h │ ├── scripting/ │ │ ├── ScriptBindings.cpp │ │ ├── ScriptBindings.h │ │ ├── ScriptEngine.cpp │ │ ├── ScriptEngine.h │ │ ├── ScriptException.h │ │ ├── ScriptUtilities.cpp │ │ └── ScriptUtilities.h │ └── utilities/ │ ├── ClassDemangling.cpp │ ├── ClassDemangling.h │ ├── CrashHandling.cpp │ ├── CrashHandling.h │ ├── MacroHelpers.h │ ├── PyBind11Includes.h │ ├── PythonInterop.h │ ├── PythonTypes.h │ └── WindowsIncludes.h ├── pyproject.toml ├── scripts/ │ ├── build_wheel.sh │ ├── install_wheel.sh │ ├── pull_upstream.sh │ └── upload_wheel.sh ├── setup.py └── tests/ ├── __init__.py ├── common.py ├── compare_data/ │ └── .gitignore ├── conftest.py ├── runtime_data/ │ └── .gitignore ├── test_juce_core/ │ ├── __init__.py │ ├── data/ │ │ ├── somefile.txt │ │ ├── test.xml │ │ └── test_broken.xml │ ├── test_Array.py │ ├── test_Base64.py │ ├── test_BigInteger.py │ ├── test_ByteOrder.py │ ├── test_Cast.py │ ├── test_CriticalSection.py │ ├── test_File.py │ ├── test_FileFilter.py │ ├── test_FileInputStream.py │ ├── test_FileOutputStream.py │ ├── test_Identifier.py │ ├── test_InputStream.py │ ├── test_Ints.py │ ├── test_JSON.py │ ├── test_MemoryBlock.py │ ├── test_MemoryInputStream.py │ ├── test_MemoryMappedFile.py │ ├── test_NamedValueSet.py │ ├── test_NormalisableRange.py │ ├── test_PropertySet.py │ ├── test_Random.py │ ├── test_Range.py │ ├── test_RangedDirectoryIterator.py │ ├── test_RelativeTime.py │ ├── test_Result.py │ ├── test_StringArray.py │ ├── test_StringPairArray.py │ ├── test_SubregionStream.py │ ├── test_TemporaryFile.py │ ├── test_Thread.py │ ├── test_ThreadPool.py │ ├── test_Time.py │ ├── test_URLInputSource.py │ ├── test_Uuid.py │ ├── test_WildcardFileFilter.py │ ├── test_XmlDocument.py │ ├── test_XmlElement.py │ └── test_ZipFile.py ├── test_juce_data_structures/ │ ├── __init__.py │ ├── test_CachedValue.py │ ├── test_PropertiesFile.py │ ├── test_UndoManager.py │ ├── test_Value.py │ ├── test_ValueTree.py │ └── test_ValueTreeSynchroniser.py ├── test_juce_events/ │ ├── __init__.py │ ├── test_ActionBroadcaster.py │ ├── test_AsyncUpdater.py │ ├── test_ChangeBroadcaster.py │ ├── test_LockingAsyncUpdater.py │ ├── test_Message.py │ ├── test_MessageListener.py │ ├── test_MessageManager.py │ ├── test_MultiTimer.py │ └── test_Timer.py ├── test_juce_graphics/ │ ├── __init__.py │ ├── test_AffineTransform.py │ ├── test_BorderSize.py │ ├── test_Colour.py │ ├── test_ColourGradient.py │ ├── test_FillType.py │ ├── test_Graphics.py │ ├── test_Justification.py │ ├── test_Line.py │ ├── test_Parallelogram.py │ ├── test_Path.py │ ├── test_PathStrokeType.py │ ├── test_PixelARGB.py │ ├── test_PixelAlpha.py │ ├── test_PixelRGB.py │ ├── test_Point.py │ ├── test_Rectangle.py │ ├── test_RectangleList.py │ └── utilities.py ├── test_juce_gui_basics/ │ ├── __init__.py │ ├── test_Button.py │ ├── test_DocumentWindow.py │ ├── test_JUCEApplication.py │ └── test_KeyPress.py └── utilities.py