diff --git a/CMakeLists.txt b/CMakeLists.txt index 960aa314..da5b7a1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,9 +36,9 @@ endif() # `project()` command. `project()` sets up some helpful variables that describe source/binary # directories, and the current project version. This is a standard CMake command. -project(SonoBus VERSION 1.5.1) +project(SonoBus VERSION 1.6.0) -set(BUILDVERSION 74) +set(BUILDVERSION 75) # If you've installed JUCE somehow (via a package manager, or directly using the CMake install @@ -314,6 +314,7 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr Source/SonobusPluginProcessor.cpp Source/SonobusPluginProcessor.h Source/SonobusTypes.h + Source/VDONinjaView.h Source/VersionInfo.cpp Source/VersionInfo.h Source/WaveformTransportComponent.h @@ -476,6 +477,8 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr images/expand_arrow_active.svg images/expand_arrow_inactive.svg images/eyedropper.svg + images/eye.svg + images/eye-off.svg images/folder_icon.svg images/hear-others.svg images/hold.svg @@ -484,6 +487,8 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr images/incoming_disallowed.svg images/keyboard.svg images/keyboard_disabled.svg + images/keypad-num-disabled.svg + images/keypad-num.svg images/lgc_bar.wav images/link.svg images/link_all.svg @@ -495,6 +500,7 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr images/mic.svg images/mic_disabled.svg images/mic_pointing.svg + images/mesg-unread.svg images/move_updown.svg images/mute-others.svg images/network.svg @@ -520,6 +526,7 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr images/record_active_alt.svg images/rectape.svg images/reset_buffer_icon.svg + images/send.svg images/send_group.svg images/send_group_small.svg images/replay_icon.svg @@ -579,6 +586,7 @@ function(sono_add_custom_plugin_target target_name product_name formats is_instr PRIVATE juce::juce_audio_utils juce::juce_dsp + juce::juce_cryptography juce::juce_audio_plugin_client ff_meters diff --git a/README.md b/README.md index 5813bf0b..7dcf0236 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ one at aoo.sonobus.net, you can build the headless aooserver code at > https://github.com/essej/aooserver The standalone SonoBus application also provides a connection server internally, -which you can connect to on port 10998, or port forward TCP/UDP 10998 from your internet +which you can connect to on port 10999, or port forward TCP/UDP 10999 from your internet router to the machine you are running it on. diff --git a/Source/AutoUpdater.cpp b/Source/AutoUpdater.cpp index 78f9625a..680d93fb 100644 --- a/Source/AutoUpdater.cpp +++ b/Source/AutoUpdater.cpp @@ -50,7 +50,7 @@ void LatestVersionCheckerAndUpdater::checkForNewVersion (bool showAlerts) if (! isThreadRunning()) { showAlertWindows = showAlerts; - startThread (3); + startThread (Thread::Priority::low); } } @@ -300,7 +300,7 @@ class DownloadAndInstallThread : private ThreadWithProgressWindow : ThreadWithProgressWindow ("Downloading New Version", true, true), asset (a), targetFolder (t), completionCallback (std::move (cb)) { - launchThread (3); + launchThread (Thread::Priority::low); } private: diff --git a/Source/ChannelGroup.cpp b/Source/ChannelGroup.cpp index 3d539112..8d75c72d 100644 --- a/Source/ChannelGroup.cpp +++ b/Source/ChannelGroup.cpp @@ -21,6 +21,7 @@ static String monDestStartKey("mondeststart"); static String monDestChannelsKey("mondestchans"); static String sendMainMixKey("sendmainmix"); static String invertPolarityKey("invertpolarity"); +static String mutedKey("muted"); static String stereoPanListKey("StereoPanners"); @@ -629,6 +630,7 @@ ValueTree ChannelGroupParams::getValueTree() const channelGroupTree.setProperty(gainKey, gain, nullptr); channelGroupTree.setProperty(channelStartIndexKey, chanStartIndex, nullptr); channelGroupTree.setProperty(numChannelsKey, numChannels, nullptr); + channelGroupTree.setProperty(mutedKey, muted, nullptr); channelGroupTree.setProperty(peerPan1Key, panStereo[0], nullptr); channelGroupTree.setProperty(peerPan2Key, panStereo[1], nullptr); @@ -671,6 +673,7 @@ void ChannelGroupParams::setFromValueTree(const ValueTree & channelGroupTree) gain = channelGroupTree.getProperty(gainKey, gain); chanStartIndex = channelGroupTree.getProperty(channelStartIndexKey, chanStartIndex); numChannels = channelGroupTree.getProperty(numChannelsKey, numChannels); + muted = channelGroupTree.getProperty(mutedKey, muted); //pan = channelGroupTree.getProperty(peerMonoPanKey, pan); panStereo[0] = channelGroupTree.getProperty(peerPan1Key, panStereo[0]); panStereo[1] = channelGroupTree.getProperty(peerPan2Key, panStereo[1]); diff --git a/Source/ChatView.cpp b/Source/ChatView.cpp index b8bc0830..03880357 100644 --- a/Source/ChatView.cpp +++ b/Source/ChatView.cpp @@ -15,6 +15,28 @@ void FocusTextEditor::focusGained (FocusChangeType gtype) } } +class SonobusChatTabbedButtonBar : public TabbedButtonBar +{ +public: + SonobusChatTabbedButtonBar(TabbedButtonBar::Orientation orientation, ChatView & editor_) : TabbedButtonBar(orientation), editor(editor_) { + + } + + void currentTabChanged (int newCurrentTabIndex, const String& newCurrentTabName) override { + + editor.chatTabChanged(newCurrentTabIndex); + } + + void popupMenuClickOnTab (int index, const String&) override { + DBG("right clicked on tab: " << index); + editor.chatTabRightClicked(index); + } + +protected: + ChatView & editor; + +}; + ChatView::ChatView(SonobusAudioProcessor& proc, AooServerConnectionInfo & connectinfo) : processor(proc), currConnectionInfo(connectinfo) { @@ -22,11 +44,30 @@ ChatView::ChatView(SonobusAudioProcessor& proc, AooServerConnectionInfo & connec setOpaque(true); + int menubuttw = 36; + int minitemheight = 36; + int titleheight = 32; + int minButtonWidth = 90; + int tabheight = 30; +#if JUCE_IOS || JUCE_ANDROID + // make the button heights a bit more for touchscreen purposes + minitemheight = 44; + menubuttw = 40; + titleheight = 34; + tabheight = 36; +#endif + int chatsendh = minitemheight + 16; + mTitleLabel = std::make_unique