Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
69870fd
target app bundle when using gui on mac
dromer Dec 1, 2024
07515ce
Merge branch 'develop' into bugfix/macos_jack_gui
dromer Dec 1, 2024
a2ae80b
remove some duplicate code
dromer Dec 1, 2024
ef1466f
Load font file included with patch recursively in patch directory
Dec 2, 2024
4d4e7f3
fix package name with no notarize
dromer Dec 2, 2024
1860efd
Merge pull request #3 from Wasted-Audio/bugfix/macos_pkg_build_no_not…
dromer Dec 2, 2024
1facede
add .exe for jack builds on windows
dromer Dec 2, 2024
3b36f19
Merge branch 'bugfix/macos_pkg_build_no_notarize' into bugfix/macos_j…
dromer Dec 2, 2024
ed510a9
use modded juce
dromer Dec 2, 2024
8cf07ec
fix imports
dromer Dec 2, 2024
b84a83a
move JUCE_JACK out of other if tree
dromer Dec 2, 2024
61dabb4
Only load patch fonts if file is valid font, don't show patch fonts i…
Dec 3, 2024
d28e257
Use findFiles to return _thumb images associated with the patch file
Dec 3, 2024
8d86405
Continue testing returned _thumb images if a valid image file hasn't …
Dec 3, 2024
80d3292
Add discovery/store panel
timothyschoen Dec 3, 2024
f6bf898
MSVC compilation fix
timothyschoen Dec 3, 2024
f78e4cf
MSVC fix
timothyschoen Dec 3, 2024
3e93be7
Fix shutdown issue
timothyschoen Dec 3, 2024
5986a80
Add icon for plugdata logo, use icon for library patches without thum…
Dec 3, 2024
8a7119e
Merge pull request #1996 from alcomposer/better-thumb-find
timothyschoen Dec 3, 2024
e71db55
Merge pull request #1997 from alcomposer/plugdata-lib-icon
timothyschoen Dec 3, 2024
94c44d2
Merge branch 'load-fonts-in-patch-dir' of https://github.com/alcompos…
timothyschoen Dec 3, 2024
5946e9d
Pull fonts on-demand, but with a font cache
timothyschoen Dec 3, 2024
72c5373
Cancel image downloads when store is closed
timothyschoen Dec 3, 2024
bd47f8b
Merge pull request #1990 from Wasted-Audio/bugfix/macos_jack_gui
timothyschoen Dec 3, 2024
a9c01dc
Show more store item information
timothyschoen Dec 3, 2024
c308a88
Fix viewport size
timothyschoen Dec 3, 2024
3103e67
Store layout fixes
timothyschoen Dec 3, 2024
5ece471
Small layout fixes
timothyschoen Dec 3, 2024
5b10921
More layout fixes
timothyschoen Dec 4, 2024
28d934e
MSVC fix
timothyschoen Dec 4, 2024
514e182
MSVC fix
timothyschoen Dec 4, 2024
ff966cc
GUI fixes
timothyschoen Dec 4, 2024
6680a98
Disable alt mode in plugin mode
timothyschoen Dec 4, 2024
9557cea
Don't hide tooltips when hitting cmd button, for better usability wit…
timothyschoen Dec 4, 2024
fc21731
Fix band-limited oscillators
timothyschoen Dec 4, 2024
30836b8
Small welcome panel optimisation
timothyschoen Dec 4, 2024
8e37ba4
MSVC fix
timothyschoen Dec 4, 2024
b41b2f6
Blep oscillator fix
timothyschoen Dec 4, 2024
3f6f1f4
Small fixes
timothyschoen Dec 4, 2024
6a17c41
Set the store tile button position when there is no recent patches
Dec 4, 2024
87f23c0
Cache downloaded image from store so users don't have to wait when op…
Dec 4, 2024
2e289cd
Place download image cache into imagePool with mutex
Dec 4, 2024
4c4d826
Don't lock everything in thread pool
Dec 4, 2024
39ab44d
jack4all
Dec 4, 2024
558241d
Merge branch 'develop' into feature/jack4all_juce
Dec 4, 2024
2146b41
Merge pull request #1998 from alcomposer/lib-tile-work
timothyschoen Dec 4, 2024
cfaa6a6
Merge pull request #1999 from alcomposer/store-image-cache
timothyschoen Dec 4, 2024
af24c38
Fix numberbox and listbox issues
timothyschoen Dec 4, 2024
12068bd
use new JUCE commit; install jack with homebrew
Dec 4, 2024
a7cab77
use proper include path on macOS
Dec 4, 2024
a719e4d
specify different include dirs for macOS
Dec 4, 2024
0bac6aa
Fix Max theme label issue
timothyschoen Dec 4, 2024
4ced7ea
Fix welcome panel colour theme issue
timothyschoen Dec 4, 2024
8fbbf42
Add metadata system for store
timothyschoen Dec 5, 2024
cc844a2
Set command lock to false when canvas is constructed. Only a canvas u…
Dec 5, 2024
0c1b4ff
Make sure patches install correctly if dialog is closed
timothyschoen Dec 5, 2024
2e548e8
Downsample with stb header lib (added to Utility for now) to make dow…
Dec 5, 2024
cc5ba22
Add about panel section for Corporate Sponsors, add Jet Brains to cor…
Dec 5, 2024
97a5af6
Add 'installed' check for store view
Dec 5, 2024
d1fb31e
Hover over 'installed' button reveals 'reinstall'. Delete existing fo…
Dec 5, 2024
6c92e87
Right click for library patch tiles
Dec 5, 2024
76099c0
Merge pull request #2001 from alcomposer/fix-command-lock-new-canvas
timothyschoen Dec 5, 2024
cfc7fa6
Merge pull request #2003 from alcomposer/about-add-corporate
timothyschoen Dec 5, 2024
82498ed
Merge pull request #2002 from alcomposer/stb-image-downsample
timothyschoen Dec 5, 2024
a5b2ae0
Merge branch 'develop' into store-check-install
timothyschoen Dec 5, 2024
6a7e216
Merge pull request #2004 from alcomposer/store-check-install
timothyschoen Dec 5, 2024
4070edf
Improve download performance
timothyschoen Dec 5, 2024
ed1e981
Merge branch 'develop' of https://github.com/plugdata-team/plugdata i…
timothyschoen Dec 5, 2024
9d86e6c
Hide deleted recently opened tiles, delete them if they are not on re…
timothyschoen Dec 5, 2024
a8b8a00
Image interpolation fixes
timothyschoen Dec 5, 2024
d0a04c0
Store: show installed and update status in grid view
timothyschoen Dec 5, 2024
15ba6fd
Feature/jack4all juce winget (#4)
dromer Dec 5, 2024
0381a0d
Merge branch 'develop' into feature/jack4all_juce
dromer Dec 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ jobs:
with:
submodules: recursive
fetch-depth: 0

- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: macos

- name: install jack
run: brew install jack

- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build

Expand Down Expand Up @@ -99,6 +101,9 @@ jobs:
with:
key: macos-legacy

- name: install jack
run: brew install jack

- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build

Expand Down Expand Up @@ -170,6 +175,12 @@ jobs:
submodules: recursive
fetch-depth: 0

- name: Install winget
uses: Cyberboss/install-winget@v1

- name: Install jack
run: winget install jack2 --disable-interactivity --accept-source-agreements

- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build

Expand Down Expand Up @@ -225,6 +236,12 @@ jobs:
submodules: recursive
fetch-depth: 0

- name: Install winget
uses: Cyberboss/install-winget@v1

- name: Install jack
run: winget install jack2 --disable-interactivity --accept-source-agreements

- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build

Expand Down
14 changes: 14 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,20 @@ include_directories(/usr/local/include)
link_directories(/usr/local/lib)
endif()

# macOS includes for jack
if(APPLE)
if(MACOS_LEGACY)
include_directories(/usr/local/include)
else()
include_directories(/opt/homebrew/include)
endif()
endif()

# Windows include for jack
if(MSVC)
include_directories("C:\\Program Files\\JACK2\\include")
endif()

list(APPEND PLUGDATA_COMPILE_DEFINITIONS JUCE_MODAL_LOOPS_PERMITTED=1)

list(APPEND PLUGDATA_INCLUDE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/ELSE/sfont~/")
Expand Down
2 changes: 1 addition & 1 deletion Libraries/pd-else
Submodule pd-else updated 1 files
+16 −10 Source/Shared/blep.h
Binary file modified Resources/Fonts/IconFont.ttf
Binary file not shown.
11 changes: 10 additions & 1 deletion Source/Canvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,13 @@ Canvas::Canvas(PluginEditor* parent, pd::Patch::Ptr p, Component* parentGraph)
commandLocked.referTo(pd->commandLocked);
commandLocked.addListener(this);

// pd->commandLocked doesn't get updated when a canvas isn't active
// So we set it to false here when a canvas is remade
// Otherwise the last canvas could have set it true, and it would still be
// in that state without command actually being locked
if (!isGraph)
commandLocked.setValue(false);

// init border for testing
settingsChanged("border", SettingsFile::getInstance()->getPropertyAsValue("border"));

Expand Down Expand Up @@ -1320,7 +1327,9 @@ void Canvas::middleMouseChanged(bool isHeld)

void Canvas::altKeyChanged(bool isHeld)
{
SettingsFile::getInstance()->getValueTree().getChildWithName("Overlays").setProperty("alt_mode", isHeld, nullptr);
if(!isGraph) {
SettingsFile::getInstance()->getValueTree().getChildWithName("Overlays").setProperty("alt_mode", isHeld, nullptr);
}
}

void Canvas::mouseDown(MouseEvent const& e)
Expand Down
21 changes: 13 additions & 8 deletions Source/Components/DraggableNumber.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class DraggableNumber : public Label
addListener(this);
setFont(Fonts::getTabularNumbersFont().withHeight(14.0f));
lookAndFeelChanged();
setInterceptsMouseClicks(true, true);
}

void colourChanged() override
Expand Down Expand Up @@ -104,10 +105,10 @@ class DraggableNumber : public Label
onInteraction(false);
}

void setEditableOnClick(bool editable)
void setEditableOnClick(bool editable, bool handleFocusLossManually = false)
{
setEditable(editable, editable);
setInterceptsMouseClicks(true, true);
setEditable(editable, editable, handleFocusLossManually);
setWantsKeyboardFocus(true);
}

void setMaximum(double maximum)
Expand Down Expand Up @@ -589,14 +590,14 @@ class DraggableNumber : public Label

void textEditorFocusLost (TextEditor& editor) override
{
textEditorReturnKeyPressed(editor);
//hideEditor(false);
}

void textEditorReturnKeyPressed(TextEditor& editor) override
{
auto text = editor.getText();
double newValue = parseExpression(text);
setValue(newValue);
setValue(newValue, dontSendNotification);
onReturnKey(newValue);
}
};
Expand All @@ -610,7 +611,7 @@ struct DraggableListNumber : public DraggableNumber {
explicit DraggableListNumber()
: DraggableNumber(true)
{
setEditableOnClick(true);
setEditableOnClick(true, true);
}

void mouseDown(MouseEvent const& e) override
Expand Down Expand Up @@ -693,7 +694,6 @@ struct DraggableListNumber : public DraggableNumber {
void paint(Graphics& g) override
{
if (hoveredDecimal >= 0) {
// TODO: make this colour Id configurable?
g.setColour(outlineColour.withAlpha(isMouseButtonDown() ? 0.5f : 0.3f));
g.fillRoundedRectangle(hoveredDecimalPosition, 2.5f);
}
Expand Down Expand Up @@ -724,7 +724,6 @@ struct DraggableListNumber : public DraggableNumber {
}

if (hoveredDecimal >= 0) {
// TODO: make this colour Id configurable
auto const highlightColour = outlineColour.withAlpha(isMouseButtonDown() ? 0.5f : 0.3f);
nvgFillColor(nvg, NVGComponent::convertColour(highlightColour));
nvgFillRoundedRect(nvg, hoveredDecimalPosition.getX(), hoveredDecimalPosition.getY() - 1, hoveredDecimalPosition.getWidth(), hoveredDecimalPosition.getHeight(), 2.5f);
Expand Down Expand Up @@ -759,6 +758,12 @@ struct DraggableListNumber : public DraggableNumber {
repaint();
}
}

void textEditorReturnKeyPressed(TextEditor& editor) override
{
onReturnKey(0);
hideEditor(false);
}

std::tuple<int, int, double> getListItemAtPosition(int x, Rectangle<float>* position = nullptr)
{
Expand Down
49 changes: 41 additions & 8 deletions Source/Components/PropertiesPanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -322,22 +322,56 @@ class PropertiesPanel : public Component {
struct FontComponent : public PropertiesPanelProperty {
Value fontValue;
StringArray options = Font::findAllTypefaceNames();
bool isFontMissing = false;

FontComponent(String const& propertyName, Value& value)
FontComponent(String const& propertyName, Value& value, File const& extraFontsDir = File())
: PropertiesPanelProperty(propertyName)
{
options.addIfNotAlreadyThere("Inter");
StringArray extraFontOptions;

if(extraFontsDir.isDirectory() && !extraFontsDir.isRoot()) {
auto patchFonts = Fonts::getFontsInFolder(extraFontsDir);
for (int n = 0; n < patchFonts.size(); n++) {
extraFontOptions.addIfNotAlreadyThere(patchFonts[n].getFileNameWithoutExtension());
}
}
#if JUCE_WINDOWS
extraFontOptions.addIfNotAlreadyThere("Inter Regular");
#else
extraFontOptions.addIfNotAlreadyThere("Inter");
#endif

auto offset = extraFontOptions.size();
extraFontOptions.addArray(options);

for (int n = 0; n < extraFontOptions.size(); n++) {
if (n == offset)
comboBox.getRootMenu()->addSeparator();

comboBox.getRootMenu()->addCustomItem(n + 1, std::make_unique<FontEntry>(extraFontOptions[n]), nullptr, extraFontOptions[n]);

for (int n = 0; n < options.size(); n++) {
comboBox.getRootMenu()->addCustomItem(n + 1, std::make_unique<FontEntry>(options[n]), nullptr, options[n]);
}

comboBox.setText(value.toString());
comboBox.getProperties().set("Style", "Inspector");
fontValue.referTo(value);

comboBox.onChange = [this]() {
fontValue.setValue(options[comboBox.getSelectedItemIndex()]);
comboBox.onChange = [this, extraFontOptions, propertyName]() {
auto fontName = extraFontOptions[comboBox.getSelectedItemIndex()];

if (fontName.isEmpty()) {
isFontMissing = true;
fontName = fontValue.toString();
PropertiesPanelProperty::setName(propertyName + " (missing)");
}
else {
isFontMissing = false;
PropertiesPanelProperty::setName(propertyName);
}

lookAndFeelChanged();
getParentComponent()->repaint();
fontValue.setValue(fontName);
};

setLookAndFeel(&LookAndFeel::getDefaultLookAndFeel());
Expand All @@ -354,12 +388,11 @@ class PropertiesPanel : public Component {

void lookAndFeelChanged() override
{
comboBox.setColour(ComboBox::textColourId, findColour(PlugDataColour::panelTextColourId));
comboBox.setColour(ComboBox::textColourId, isFontMissing ? Colours::red : findColour(PlugDataColour::panelTextColourId));
}

void setFont(String const& fontName)
{
fontValue.setValue(fontValue);
comboBox.setText(fontName);
}

Expand Down
Loading
Loading