Skip to content

Commit

Permalink
Merge pull request #1395 from plugdata-team/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
timothyschoen committed Jan 17, 2024
2 parents b927c21 + 1ae070b commit 1a94ea9
Show file tree
Hide file tree
Showing 55 changed files with 1,704 additions and 363 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
url = https://github.com/Wasted-Audio/heavylib.git
[submodule "Libraries/pd-lua"]
path = Libraries/pd-lua
url = https://github.com/agraef/pd-lua.git
url = https://github.com/timothyschoen/pd-lua
[submodule "Libraries/clap-juce-extensions"]
path = Libraries/clap-juce-extensions
url = https://github.com/free-audio/clap-juce-extensions.git
Expand Down
21 changes: 11 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ set(JUCE_COMPILE_DEFINITIONS
)

set(PLUGDATA_COMPILE_DEFINITIONS
PLUGDATA=1
PLUGDATA_VERSION="${PLUGDATA_VERSION}"
PLUGDATA_GIT_HASH="${GIT_HASH}"
PD=1
Expand Down Expand Up @@ -280,12 +281,11 @@ juce_add_gui_app(plugdata_standalone
CAMERA_PERMISSION_ENABLED TRUE
HARDENED_RUNTIME_ENABLED ${HARDENED_RUNTIME_ENABLED}
HARDENED_RUNTIME_OPTIONS ${HARDENED_RUNTIME_OPTIONS}
DOCUMENT_BROWSER_ENABLED TRUE
DOCUMENT_EXTENSIONS .pd
DOCUMENT_EXTENSIONS pd
BUNDLE_ID com.plugdata.plugdata
)
else()
set(IOS_SCREEN_ORIENTATIONS UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight)

juce_add_plugin(plugdata_standalone
VERSION ${PLUGDATA_VERSION}
COMPANY_NAME ${PLUGDATA_COMPANY_NAME}
Expand All @@ -294,7 +294,7 @@ juce_add_plugin(plugdata_standalone
PLUGIN_DESCRIPTION "A plugin that loads Pure Data patches"
ICON_BIG ${PLUGDATA_ICON_BIG}
LAUNCH_STORYBOARD_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Icons/LaunchScreen.storyboard
IPHONE_SCREEN_ORIENTATIONS ${IOS_SCREEN_ORIENTATIONS}
IPHONE_SCREEN_ORIENTATIONS UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
STATUS_BAR_HIDDEN TRUE
MICROPHONE_PERMISSION_ENABLED TRUE
HARDENED_RUNTIME_ENABLED ${HARDENED_RUNTIME_ENABLED}
Expand All @@ -312,16 +312,17 @@ juce_add_plugin(plugdata_standalone
PRODUCT_NAME "plugdata"
BUNDLE_ID com.plugdata.plugdata
AU_MAIN_TYPE kAudioUnitType_MusicDevice
VST3_CATEGORIES Instrument
VST2_CATEGORY kPlugCategSynth)
DOCUMENT_EXTENSIONS pd
DOCUMENT_BROWSER_ENABLED TRUE
)
endif()

juce_add_plugin(plugdata
VERSION ${PLUGDATA_VERSION}
COMPANY_NAME ${PLUGDATA_COMPANY_NAME}
COMPANY_COPYRIGHT ${PLUGDATA_COMPANY_COPYRIGHT}
COMPANY_WEBSITE ${PLUGDATA_COMPANY_WEBSITE}
PLUGIN_DESCRIPTION "A plugin that loads Pure Data patches"
PLUGIN_DESCRIPTION "Visual audio programming environment"
ICON_BIG ${PLUGDATA_ICON_BIG}
MICROPHONE_PERMISSION_ENABLED TRUE
HARDENED_RUNTIME_ENABLED ${HARDENED_RUNTIME_ENABLED}
Expand All @@ -347,10 +348,10 @@ juce_add_plugin(plugdata_fx
COMPANY_NAME ${PLUGDATA_COMPANY_NAME}
COMPANY_COPYRIGHT ${PLUGDATA_COMPANY_COPYRIGHT}
COMPANY_WEBSITE ${PLUGDATA_COMPANY_WEBSITE}
PLUGIN_DESCRIPTION "Visual audio programming environment"
ICON_BIG ${PLUGDATA_ICON_BIG}
HARDENED_RUNTIME_ENABLED ${HARDENED_RUNTIME_ENABLED}
HARDENED_RUNTIME_OPTIONS ${HARDENED_RUNTIME_OPTIONS}
PLUGIN_DESCRIPTION "A plugin that loads Pure Data patches"
IS_SYNTH FALSE
NEEDS_MIDI_INPUT TRUE
NEEDS_MIDI_OUTPUT TRUE
Expand All @@ -363,7 +364,7 @@ juce_add_plugin(plugdata_fx
LV2URI https://github.com/timothyschoen/plugdata-fx
PRODUCT_NAME "plugdata-fx"
BUNDLE_ID com.plugdata.plugdata.fx
AU_MAIN_TYPE kAudioUnitType_MusicEffect
AU_MAIN_TYPE kAudioUnitType_Effect
VST3_CATEGORIES Fx
VST2_CATEGORY kPlugCategEffect)

Expand All @@ -378,7 +379,7 @@ juce_add_plugin(plugdata_midi
ICON_BIG ${PLUGDATA_ICON_BIG}
HARDENED_RUNTIME_ENABLED ${HARDENED_RUNTIME_ENABLED}
HARDENED_RUNTIME_OPTIONS ${HARDENED_RUNTIME_OPTIONS}
PLUGIN_DESCRIPTION "A plugin that loads Pure Data patches"
PLUGIN_DESCRIPTION "Visual audio programming environment"
IS_SYNTH FALSE
NEEDS_MIDI_INPUT TRUE
NEEDS_MIDI_OUTPUT TRUE
Expand Down
2 changes: 1 addition & 1 deletion Libraries/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ source_group(cyclone FILES ${CYCLONE_SOURCES})

# pdlua sources
set(PDLUA_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pd-lua")
set(PDLUA_SOURCES ${PDLUA_PATH}/pdlua.c)
set(PDLUA_SOURCES ${PDLUA_PATH}/pdlua.c ${PDLUA_PATH}/pdlua_multi_instance.cpp)

set(LUA_PATH "${PDLUA_PATH}/lua")
set(LUA_INCLUDE_DIR ${LUA_PATH})
Expand Down
2 changes: 1 addition & 1 deletion Libraries/JUCE
2 changes: 1 addition & 1 deletion Libraries/pure-data
Submodule pure-data updated 3 files
+5 −1 src/d_ugen.c
+5 −0 src/m_class.c
+1 −1 src/m_obj.c
30 changes: 30 additions & 0 deletions Resources/Icons/LaunchScreen.storyboard
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22503" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22503"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<imageView key="view" autoresizesSubviews="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="plugdata_launchscreen_ios.png" id="sui-Lc-TnR">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<rect key="contentStretch" x="0.050000000000000003" y="0.050000000000000003" width="0.90000000000000002" height="0.90000000000000002"/>
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="default"/>
</imageView>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-7" y="4"/>
</scene>
</scenes>
<resources>
<image name="plugdata_launchscreen_ios.png" width="1500" height="1500"/>
</resources>
</document>
Binary file added Resources/Icons/plugdata_launchscreen_ios.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/Icons/plugdata_logo_ios.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions Resources/Patches/daw_storage-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
#X listbox 399 234 23 0 0 0 my_list my_list-r my_list-s 12;
#X obj 305 6 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 0 0;
#X coords 0 -1 1 1 251 41 2 0 0;
#X restore 304 5 pd;
#X obj 368 11 cnv 10 10 10 empty empty PlugData 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 368 11 cnv 10 10 10 empty empty plugdata 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 24 42 cnv 4 4 4 empty empty Storing\ extra\ data\ in\ DAW\ session 0 28 2 18 #e0e0e0 #000000 0;
#X obj 3 4 cnv 15 301 42 empty empty daw_storage 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 302 42 1 0 0;
#X coords 0 1 100 -1 301 41 1 0 0;
#X restore 4 5 graph;
#X obj 21 424 daw_storage array1;
#X obj 21 449 array set array1;
Expand Down
18 changes: 9 additions & 9 deletions Resources/Patches/param-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
#X obj 5 364 cnv 3 550 4 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 129 375 cnv 17 4 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 305 6 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 1;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 0 0;
#X restore 304 5 pd;
#X obj 368 11 cnv 10 10 10 empty empty PlugData 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 368 11 cnv 10 10 10 empty empty plugdata 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 24 42 cnv 4 4 4 empty empty Interact\ with\ DAW\ automation\ parameters 0 28 2 18 #e0e0e0 #000000 0;
#X obj 4 5 cnv 15 301 42 empty empty param 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 1;
#X coords 0 1 100 -1 302 42 1;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 302 42 1 0 0;
#X restore 4 5 graph;
#X obj 48 194 param param1, f 16;
#X obj 164 194 hsl 128 17 0 127 0 0 empty empty empty -2 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 1;
Expand All @@ -24,8 +24,8 @@
#X text 175 303 float - set DAW parameter value, f 38;
#X text 174 374 float - receive DAW parameter value;
#X obj 3 415 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X text 174 329 float - inform DAW about parameter change state (0 = reading \, 1 = writing), f 38;
#X text 157 424 1) float - automatically handle parameter change state when GUI objects are interacted with \, 1 is enabled (default 0), f 66;
#X connect 8 0 9 0 empty;
#X connect 9 0 8 0 empty;
#X connect 10 0 8 1 empty;
#X text 174 329 float - inform DAW about parameter change state (0 = reading \, 1 = writing), f 50;
#X text 145 426 1) float - automatically handle parameter change state when GUI objects are interacted with \, 1 is enabled (default 0), f 66;
#X connect 8 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 8 1;
74 changes: 37 additions & 37 deletions Resources/Patches/playhead-help.pd
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
#N canvas 637 37 657 479 10;
#X obj 5 263 cnv 3 550 4 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 129 274 cnv 17 4 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 270 cnv 17 4 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 305 6 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 1;
#X coords 0 -1 1 1 252 42 2 0 0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 251 41 2 0 0;
#X restore 304 5 pd;
#X obj 368 11 cnv 10 10 10 empty empty PlugData 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 368 11 cnv 10 10 10 empty empty plugdata 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 24 42 cnv 4 4 4 empty empty Receive\ DAW\ playhead 0 28 2 18 #e0e0e0 #000000 0;
#X obj 4 5 cnv 15 301 42 empty empty playhead 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 1;
#X coords 0 1 100 -1 302 42 1;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 301 41 1 0 0;
#X restore 4 5 graph;
#X obj 37 140 playhead, f 84;
#X obj 518 184 unpack f f f, f 22;
#X text 175 269 float - playing (1 if playing \, 0 if stopped);
#X obj 129 296 cnv 17 4 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 318 cnv 17 4 17 empty empty 2 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 340 cnv 17 4 17 empty empty 3 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 360 cnv 17 4 17 empty empty 4 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 384 cnv 17 4 17 empty empty 5 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 175 291 float - recording (1 if recording \, 0 if not);
#X obj 129 409 cnv 17 4 17 empty empty 6 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 435 cnv 17 4 17 empty empty 7 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 459 cnv 17 4 17 empty empty 8 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 175 335 float - edittime;
#X text 175 355 float - framerate;
#X text 175 379 float - bpm;
#X text 175 404 float - lastbar;
#X text 175 430 float - timesig;
#X text 175 313 list<float \, float> - start and end of loop if looping \, otherwise 0;
#X text 175 454 list<float \, float \, float> - position <ppq position \, time in samples \, time in seconds>;
#X obj 129 291 cnv 17 4 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 313 cnv 17 4 17 empty empty 2 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 335 cnv 17 4 17 empty empty 3 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 357 cnv 17 4 17 empty empty 4 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 379 cnv 17 4 17 empty empty 5 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 175 290 float - recording (1 if recording \, 0 if not);
#X obj 129 401 cnv 17 4 17 empty empty 6 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 423 cnv 17 4 17 empty empty 7 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 129 445 cnv 17 4 17 empty empty 8 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 175 334 float - edittime;
#X text 175 356 float - framerate;
#X text 175 378 float - bpm;
#X text 175 400 float - lastbar;
#X text 175 422 float - timesig;
#X text 175 312 list<float \, float> - start and end of loop if looping \, otherwise 0, f 64;
#X text 175 444 list<float \, float \, float> - position <ppq position \, time in samples \, time in seconds>;
#X obj 518 216 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X obj 573 216 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X obj 628 216 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X text 49 93 [playhead] receives the playhead from the DAW \, including tempo \, current time in ms or samples \, and more. Only works in plugin version!, f 64;
#X text 35 82 [playhead] receives the playhead from the DAW \, including tempo \, current time in ms or samples \, and more. Only works in plugin version!, f 64;
#X obj 37 218 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X obj 92 218 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X obj 258 218 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
Expand All @@ -44,17 +44,17 @@
#X obj 148 184 unpack f f;
#X obj 148 218 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X obj 203 218 nbx 4 21 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #e4e4e4 #5a5a5a #5a5a5a 0 256;
#X connect 8 0 31 0 empty;
#X connect 8 1 32 0 empty;
#X connect 8 2 38 0 empty;
#X connect 8 3 33 0 empty;
#X connect 8 4 34 0 empty;
#X connect 8 5 35 0 empty;
#X connect 8 6 36 0 empty;
#X connect 8 7 37 0 empty;
#X connect 8 8 9 0 empty;
#X connect 9 0 27 0 empty;
#X connect 9 1 28 0 empty;
#X connect 9 2 29 0 empty;
#X connect 38 0 39 0 empty;
#X connect 38 1 40 0 empty;
#X connect 8 0 31 0;
#X connect 8 1 32 0;
#X connect 8 2 38 0;
#X connect 8 3 33 0;
#X connect 8 4 34 0;
#X connect 8 5 35 0;
#X connect 8 6 36 0;
#X connect 8 7 37 0;
#X connect 8 8 9 0;
#X connect 9 0 27 0;
#X connect 9 1 28 0;
#X connect 9 2 29 0;
#X connect 38 0 39 0;
#X connect 38 1 40 0;
2 changes: 1 addition & 1 deletion Resources/Patches/playhead.pd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#N canvas 536 141 700 308 12;
#X obj 27 38 r playhead;
#X obj 27 38 r _playhead;
#X obj 23 72 route playing recording looping edittime framerate bpm
lastbar timesig position, f 81;
#X obj 20 136 outlet;
Expand Down
12 changes: 6 additions & 6 deletions Source/Canvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ void Canvas::performSynchronise()

// Remove deleted connections
for (int n = connections.size() - 1; n >= 0; n--) {
if (patch.connectionWasDeleted(connections[n]->getPointer())) {
if (!connections[n]->getPointer()) {
connections.remove(n);
}
}
Expand Down Expand Up @@ -796,13 +796,13 @@ void Canvas::mouseUp(MouseEvent const& e)

void Canvas::updateSidebarSelection()
{
auto lassoSelection = getSelectionOfType<Object>();

#if JUCE_IOS
editor->showTouchSelectionHelper(lassoSelection.size() >= 1);
editor->showTouchSelectionHelper(selectedComponents.getNumSelected());
#endif

if (lassoSelection.size() >= 1) {

auto lassoSelection = getSelectionOfType<Object>();

if (lassoSelection.size() > 0) {
Array<ObjectParameters> allParameters;
for (auto* object : lassoSelection) {
if (!object->gui)
Expand Down
5 changes: 5 additions & 0 deletions Source/Components/PropertiesPanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -809,6 +809,11 @@ class PropertiesPanel : public Component {
{
label->setBounds(getLocalBounds().removeFromRight(getWidth() / (2 - hideLabel)));
}

void editableOnClick(bool editable)
{
dynamic_cast<DraggableNumber*>(label.get())->setEditableOnClick(editable);
}
};

struct FilePathComponent : public PropertiesPanelProperty {
Expand Down
12 changes: 6 additions & 6 deletions Source/Components/TouchSelectionHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,37 +51,37 @@ class TouchSelectionHelper : public Component {
case 1: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::Cut);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
case 2: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::Copy);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
case 3: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::Paste);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
case 4: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::Duplicate);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
case 5: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::Encapsulate);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
case 6: {
ApplicationCommandTarget::InvocationInfo info(CommandIDs::ConnectionPathfind);
info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu;
editor->ApplicationCommandManager::invoke(info, true);
editor->commandManager.invoke(info, true);
break;
}
}
Expand Down
Loading

0 comments on commit 1a94ea9

Please sign in to comment.