Skip to content

Commit b5146d5

Browse files
committed
Release 1.0.30
* Refactored support of activity property. * Added possibility to launch standalone plugins in minimized window state. * Added support of inactive backround color, brightness and backround brightness. * Fixed broken transport (tempo BPM) synchronization for CLAP plugin format. * Fixed regression related to creating new global configuration file. * Added basic Overlay support. * Added MacOS dependencies. * Updated module versions in dependencies.
2 parents 2f3d759 + 8bd0270 commit b5146d5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1296
-414
lines changed

CHANGELOG

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 1.0.30 ===
6+
* Refactored support of activity property.
7+
* Added possibility to launch standalone plugins in minimized window state.
8+
* Added support of inactive backround color, brightness and backround brightness.
9+
* Fixed broken transport (tempo BPM) synchronization for CLAP plugin format.
10+
* Fixed regression related to creating new global configuration file.
11+
* Added basic Overlay support.
12+
* Added MacOS dependencies.
13+
* Updated module versions in dependencies.
14+
515
=== 1.0.29 ===
616
* Added workaround for Renoise host related to latency reporting by VST2 and VST3 plugins
717
on state load.

dependencies.mk

Lines changed: 177 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,149 @@ DEPENDENCIES = \
803803
$(DEPENDENCIES_VST3) \
804804
$(DEPENDENCIES_VST3_UI)
805805

806+
#------------------------------------------------------------------------------
807+
# Windows-specific dependencies
808+
MACOS_DEPENDENCIES_COMMON = \
809+
LIBICONV
810+
811+
MACOS_DEPENDENCIES_COMMON_UI =
812+
813+
MACOS_DEPENDENCIES_BIN =
814+
815+
MACOS_DEPENDENCIES_UI_BIN =
816+
817+
MACOS_TEST_DEPENDENCIES =
818+
819+
MACOS_TEST_DEPENDENCIES_UI =
820+
821+
# CLAP dependencies
822+
MACOS_DEPENDENCIES_CLAP = \
823+
LIBAUDIOTOOLBOX \
824+
LIBCOREFOUNDATION
825+
826+
MACOS_DEPENDENCIES_CLAP_UI = \
827+
LIBAUDIOTOOLBOX \
828+
LIBCOREFOUNDATION
829+
830+
MACOS_DEPENDENCIES_CLAP_BIN =
831+
832+
MACOS_DEPENDENCIES_CLAP_UI_BIN =
833+
834+
# GStreamer dependencies
835+
MACOS_DEPENDENCIES_GST =
836+
837+
MACOS_DEPENDENCIES_GST_WRAP =
838+
839+
MACOS_DEPENDENCIES_GST_BIN =
840+
841+
# Jack dependencies
842+
MACOS_DEPENDENCIES_JACK = \
843+
LIBAUDIOTOOLBOX \
844+
LIBCOREFOUNDATION \
845+
LIBJACK
846+
847+
MACOS_DEPENDENCIES_JACK_UI = \
848+
LIBAUDIOTOOLBOX \
849+
LIBCOREFOUNDATION \
850+
LIBJACK
851+
852+
MACOS_DEPENDENCIES_JACK_WRAP =
853+
854+
MACOS_DEPENDENCIES_JACK_BIN =
855+
856+
MACOS_DEPENDENCIES_JACK_UI_BIN =
857+
858+
# LADSPA dependencies
859+
MACOS_DEPENDENCIES_LADSPA = \
860+
LIBAUDIOTOOLBOX \
861+
LIBCOREFOUNDATION
862+
863+
MACOS_DEPENDENCIES_LADSPA_BIN =
864+
865+
# LV2 dependencies
866+
MACOS_DEPENDENCIES_LV2 = \
867+
LIBAUDIOTOOLBOX \
868+
LIBCOREFOUNDATION
869+
870+
MACOS_DEPENDENCIES_LV2_UI = \
871+
LIBAUDIOTOOLBOX \
872+
LIBCOREFOUNDATION
873+
874+
MACOS_DEPENDENCIES_LV2_BIN =
875+
876+
MACOS_DEPENDENCIES_LV2_UI_BIN =
877+
878+
# VST2 dependencies
879+
MACOS_DEPENDENCIES_VST2 = \
880+
LIBAUDIOTOOLBOX \
881+
LIBCOREFOUNDATION
882+
883+
MACOS_DEPENDENCIES_VST2_UI = \
884+
LIBAUDIOTOOLBOX \
885+
LIBCOREFOUNDATION
886+
887+
MACOS_DEPENDENCIES_VST2_WRAP =
888+
889+
MACOS_DEPENDENCIES_VST2_BIN =
890+
891+
MACOS_DEPENDENCIES_VST2_UI_BIN =
892+
893+
# VST3 dependencies
894+
MACOS_DEPENDENCIES_VST3 = \
895+
LIBAUDIOTOOLBOX \
896+
LIBCOREFOUNDATION
897+
898+
MACOS_DEPENDENCIES_VST3_UI = \
899+
LIBAUDIOTOOLBOX \
900+
LIBCOREFOUNDATION
901+
902+
MACOS_DEPENDENCIES_VST3_BIN =
903+
904+
MACOS_DEPENDENCIES_VST3_UIBIN =
905+
906+
ifeq ($(PLATFORM),MacOS)
907+
DEPENDENCIES_COMMON += $(MACOS_DEPENDENCIES_COMMON)
908+
DEPENDENCIES_COMMON_UI += $(MACOS_DEPENDENCIES_COMMON_UI)
909+
DEPENDENCIES_BIN += $(MACOS_DEPENDENCIES_BIN)
910+
DEPENDENCIES_UI_BIN += $(MACOS_DEPENDENCIES_UI_BIN)
911+
TEST_DEPENDENCIES += $(MACOS_TEST_DEPENDENCIES)
912+
TEST_DEPENDENCIES_UI += $(MACOS_TEST_DEPENDENCIES_UI)
913+
914+
DEPENDENCIES_CLAP += $(MACOS_DEPENDENCIES_CLAP)
915+
DEPENDENCIES_CLAP_UI += $(MACOS_DEPENDENCIES_CLAP_UI)
916+
DEPENDENCIES_CLAP_BIN += $(MACOS_DEPENDENCIES_CLAP_BIN)
917+
DEPENDENCIES_CLAP_UI_BIN += $(MACOS_DEPENDENCIES_CLAP_UI_BIN)
918+
919+
DEPENDENCIES_GST += $(MACOS_DEPENDENCIES_GST)
920+
DEPENDENCIES_GST_WRAP += $(MACOS_DEPENDENCIES_GST_WRAP)
921+
DEPENDENCIES_GST_BIN += $(MACOS_DEPENDENCIES_GST_BIN)
922+
923+
DEPENDENCIES_JACK += $(MACOS_DEPENDENCIES_JACK)
924+
DEPENDENCIES_JACK_UI += $(MACOS_DEPENDENCIES_JACK_UI)
925+
DEPENDENCIES_JACK_WRAP += $(MACOS_DEPENDENCIES_JACK_WRAP)
926+
DEPENDENCIES_JACK_BIN += $(MACOS_DEPENDENCIES_JACK_BIN)
927+
DEPENDENCIES_JACK_UI_BIN += $(MACOS_DEPENDENCIES_JACK_UI_BIN)
928+
929+
DEPENDENCIES_LADSPA += $(MACOS_DEPENDENCIES_LADSPA)
930+
DEPENDENCIES_LADSPA_BIN += $(MACOS_DEPENDENCIES_LADSPA_BIN)
931+
932+
DEPENDENCIES_LV2 += $(MACOS_DEPENDENCIES_LV2)
933+
DEPENDENCIES_LV2_UI += $(MACOS_DEPENDENCIES_LV2_UI)
934+
DEPENDENCIES_LV2_BIN += $(MACOS_DEPENDENCIES_LV2_BIN)
935+
DEPENDENCIES_LV2_UI_BIN += $(MACOS_DEPENDENCIES_LV2_UI_BIN)
936+
937+
DEPENDENCIES_VST2 += $(MACOS_DEPENDENCIES_VST2)
938+
DEPENDENCIES_VST2_UI += $(MACOS_DEPENDENCIES_VST2_UI)
939+
DEPENDENCIES_VST2_WRAP += $(MACOS_DEPENDENCIES_VST2_WRAP)
940+
DEPENDENCIES_VST2_BIN += $(MACOS_DEPENDENCIES_VST2_BIN)
941+
DEPENDENCIES_VST2_UI_BIN += $(MACOS_DEPENDENCIES_VST2_UI_BIN)
942+
943+
DEPENDENCIES_VST3 += $(MACOS_DEPENDENCIES_VST3)
944+
DEPENDENCIES_VST3_UI += $(MACOS_DEPENDENCIES_VST3_UI)
945+
DEPENDENCIES_VST3_BIN += $(MACOS_DEPENDENCIES_VST3_BIN)
946+
DEPENDENCIES_VST3_UI_BIN += $(MACOS_DEPENDENCIES_VST3_UI_BIN)
947+
endif
948+
806949
#------------------------------------------------------------------------------
807950
# All possible dependencies
808951
ALL_DEPENDENCIES = \
@@ -939,5 +1082,37 @@ ALL_DEPENDENCIES = \
9391082
$(WINDOWS_DEPENDENCIES_VST3) \
9401083
$(WINDOWS_DEPENDENCIES_VST3_UI) \
9411084
$(WINDOWS_DEPENDENCIES_VST3_BIN) \
942-
$(WINDOWS_DEPENDENCIES_VST3_UI_BIN)
943-
1085+
$(WINDOWS_DEPENDENCIES_VST3_UI_BIN) \
1086+
\
1087+
$(MACOS_DEPENDENCIES_COMMON) \
1088+
$(MACOS_DEPENDENCIES_COMMON_UI) \
1089+
$(MACOS_DEPENDENCIES_BIN) \
1090+
$(MACOS_TEST_DEPENDENCIES) \
1091+
$(MACOS_TEST_DEPENDENCIES_UI) \
1092+
$(MACOS_DEPENDENCIES_CLAP) \
1093+
$(MACOS_DEPENDENCIES_CLAP_UI) \
1094+
$(MACOS_DEPENDENCIES_CLAP_BIN) \
1095+
$(MACOS_DEPENDENCIES_CLAP_UI_BIN) \
1096+
$(MACOS_DEPENDENCIES_GST) \
1097+
$(MACOS_DEPENDENCIES_GST_WRAP) \
1098+
$(MACOS_DEPENDENCIES_GST_BIN) \
1099+
$(MACOS_DEPENDENCIES_JACK) \
1100+
$(MACOS_DEPENDENCIES_JACK_UI) \
1101+
$(MACOS_DEPENDENCIES_JACK_WRAP) \
1102+
$(MACOS_DEPENDENCIES_JACK_BIN) \
1103+
$(MACOS_DEPENDENCIES_JACK_UI_BIN) \
1104+
$(MACOS_DEPENDENCIES_LADSPA) \
1105+
$(MACOS_DEPENDENCIES_LADSPA_BIN) \
1106+
$(MACOS_DEPENDENCIES_LV2) \
1107+
$(MACOS_DEPENDENCIES_LV2_UI) \
1108+
$(MACOS_DEPENDENCIES_LV2TTL_GEN) \
1109+
$(MACOS_DEPENDENCIES_LV2_BIN) \
1110+
$(MACOS_DEPENDENCIES_LV2_UI_BIN) \
1111+
$(MACOS_DEPENDENCIES_VST2) \
1112+
$(MACOS_DEPENDENCIES_VST2_UI) \
1113+
$(MACOS_DEPENDENCIES_VST2_BIN) \
1114+
$(MACOS_DEPENDENCIES_VST2_UI_BIN) \
1115+
$(MACOS_DEPENDENCIES_VST3) \
1116+
$(MACOS_DEPENDENCIES_VST3_UI) \
1117+
$(MACOS_DEPENDENCIES_VST3_BIN) \
1118+
$(MACOS_DEPENDENCIES_VST3_UI_BIN)

include/lsp-plug.in/plug-fw/ctl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
#include <lsp-plug.in/plug-fw/ctl/containers/Grid.h>
7474
#include <lsp-plug.in/plug-fw/ctl/containers/Cell.h>
7575
#include <lsp-plug.in/plug-fw/ctl/containers/MultiLabel.h>
76+
#include <lsp-plug.in/plug-fw/ctl/containers/Overlay.h>
7677
#include <lsp-plug.in/plug-fw/ctl/containers/TabControl.h>
7778
#include <lsp-plug.in/plug-fw/ctl/containers/TabGroup.h>
7879
#include <lsp-plug.in/plug-fw/ctl/containers/ListBox.h>

include/lsp-plug.in/plug-fw/ctl/Widget.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
2+
* Copyright (C) 2025 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
* (C) 2025 Vladimir Sadovnikov <sadko4u@gmail.com>
44
*
55
* This file is part of lsp-plugin-fw
66
* Created on: 10 апр. 2021 г.
@@ -68,12 +68,16 @@ namespace lsp
6868
ui::IWrapper *pWrapper;
6969
tk::Widget *wWidget;
7070

71+
ctl::Boolean sActivity;
7172
ctl::Color sBgColor;
73+
ctl::Color sInactiveBgColor;
7274
ctl::Boolean sBgInherit;
7375
ctl::Padding sPadding;
7476
ctl::Boolean sVisibility;
7577
ctl::Float sBrightness;
78+
ctl::Float sInactiveBrightness;
7679
ctl::Float sBgBrightness;
80+
ctl::Float sInactiveBgBrightness;
7781
ctl::Enum sPointer;
7882

7983
PropListener sProperties; // Properties listener

include/lsp-plug.in/plug-fw/ctl/compound/ComboBox.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ namespace lsp
5959
ctl::Color sInactiveBorderColor;
6060
ctl::Color sInactiveBorderGapColor;
6161

62-
ctl::Boolean sActivity;
6362
ctl::LCString sEmptyText;
6463
lltl::parray<ListBoxItem> vItems; // Custom items
6564

include/lsp-plug.in/plug-fw/ctl/containers/Align.h

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* Copyright (C) 2021 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
* (C) 2021 Vladimir Sadovnikov <sadko4u@gmail.com>
2+
* Copyright (C) 2025 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
* (C) 2025 Vladimir Sadovnikov <sadko4u@gmail.com>
44
*
55
* This file is part of lsp-plugin-fw
66
* Created on: 12 мая 2021 г.
@@ -43,18 +43,23 @@ namespace lsp
4343
static const ctl_class_t metadata;
4444

4545
protected:
46-
ctl::Expression sHAlign;
47-
ctl::Expression sVAlign;
48-
ctl::Expression sHScale;
49-
ctl::Expression sVScale;
46+
ctl::Expression sHAlign;
47+
ctl::Expression sVAlign;
48+
ctl::Expression sHScale;
49+
ctl::Expression sVScale;
5050

5151
protected:
5252
void update_alignment();
5353

5454
public:
5555
explicit Align(ui::IWrapper *wrapper, tk::Align *widget);
56+
Align(const Align &) = delete;
57+
Align(Align &&) = delete;
5658
virtual ~Align() override;
5759

60+
Align & operator = (const Align &) = delete;
61+
Align & operator = (Align &&) = delete;
62+
5863
virtual status_t init() override;
5964

6065
public:
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
/*
2+
* Copyright (C) 2025 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
* (C) 2025 Vladimir Sadovnikov <sadko4u@gmail.com>
4+
*
5+
* This file is part of lsp-plugin-fw
6+
* Created on: 3 апр. 2025 г.
7+
*
8+
* lsp-plugin-fw is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU Lesser General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* any later version.
12+
*
13+
* lsp-plugin-fw is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU Lesser General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU Lesser General Public License
19+
* along with lsp-plugin-fw. If not, see <https://www.gnu.org/licenses/>.
20+
*/
21+
22+
#ifndef LSP_PLUG_IN_PLUG_FW_CTL_CONTAINERS_OVERLAY_H_
23+
#define LSP_PLUG_IN_PLUG_FW_CTL_CONTAINERS_OVERLAY_H_
24+
25+
#ifndef LSP_PLUG_IN_PLUG_FW_CTL_IMPL_
26+
#error "Use #include <lsp-plug.in/plug-fw/ctl.h>"
27+
#endif /* LSP_PLUG_IN_PLUG_FW_CTL_IMPL_ */
28+
29+
#include <lsp-plug.in/plug-fw/version.h>
30+
#include <lsp-plug.in/tk/tk.h>
31+
32+
33+
namespace lsp
34+
{
35+
namespace ctl
36+
{
37+
/**
38+
* Overlay controller
39+
*/
40+
class Overlay: public Widget
41+
{
42+
public:
43+
static const ctl_class_t metadata;
44+
45+
protected:
46+
ui::IPort *pPort; // Port that controls the visibility of the widget
47+
LSPString sTriggerWID; // Trigger widget identifier
48+
LSPString sAreaWID; // Area widget identifier
49+
float fHOrigin; // Horizontal origin
50+
float fVOrigin; // Vertial origin
51+
float fHAlign; // Horizontal alignment
52+
float fVAlign; // Vertial alignment
53+
54+
ctl::Float sTransparency; // Transparency of the overlay
55+
ctl::Integer sPriority; // Drawing priority
56+
ctl::Boolean sAutoClose; // Automatically close flag
57+
ctl::Integer sBorderRadius; // Border radius
58+
ctl::Integer sBorderSize; // Border size
59+
ctl::Color sBorderColor; // Border color
60+
ctl::Padding sIPadding; // Internal padding
61+
62+
ctl::Expression sHOrigin; // Horizontal relative offset of origin point from left-top position of trigger area
63+
ctl::Expression sVOrigin; // Vertical relative offset of origin point from left-top position of trigger area
64+
ctl::Expression sHAlign; // Horizontal widget alignment relative to the origin point
65+
ctl::Expression sVAlign; // Vertical widget alignment relative to the origin point
66+
67+
ctl::Expression sLayoutHAlign; // Internal layout horizontal alignment
68+
ctl::Expression sLayoutVAlign; // Internal layout vertical alignment
69+
ctl::Expression sLayoutHScale; // Internal layout horizontal scale
70+
ctl::Expression sLayoutVScale; // Internal layout vertical scale
71+
72+
protected:
73+
static bool update_float(float & value, ctl::Expression & expr);
74+
static bool calc_position(ws::rectangle_t *rect, tk::Overlay *overlay, void *data);
75+
static bool filter_event(const ws::event_t *ev, tk::Overlay *overlay, void *data);
76+
77+
static status_t slot_on_hide(tk::Widget *sender, void *ptr, void *data);
78+
79+
protected:
80+
void update_layout_alignment();
81+
void update_alignment();
82+
void on_hide_overlay();
83+
bool calc_position(ws::rectangle_t *rect, tk::Overlay *overlay);
84+
bool filter_event(const ws::event_t *ev, tk::Overlay *overlay);
85+
bool get_area(ws::rectangle_t *rect, const LSPString *wid);
86+
87+
public:
88+
explicit Overlay(ui::IWrapper *wrapper, tk::Overlay *widget);
89+
Overlay(const Overlay &) = delete;
90+
Overlay(Overlay &&) = delete;
91+
virtual ~Overlay() override;
92+
93+
Overlay & operator = (const Overlay &) = delete;
94+
Overlay & operator = (Overlay &&) = delete;
95+
96+
virtual status_t init() override;
97+
98+
public:
99+
virtual void set(ui::UIContext *ctx, const char *name, const char *value) override;
100+
virtual status_t add(ui::UIContext *ctx, ctl::Widget *child) override;
101+
virtual void notify(ui::IPort *port, size_t flags) override;
102+
virtual void end(ui::UIContext *ctx) override;
103+
virtual void reloaded(const tk::StyleSheet *sheet) override;
104+
};
105+
106+
} /* namespace ctl */
107+
} /* namespace lsp */
108+
109+
110+
111+
#endif /* LSP_PLUG_IN_PLUG_FW_CTL_CONTAINERS_OVERLAY_H_ */

0 commit comments

Comments
 (0)