BelaPlatform / supercollider

an environment and programming language for real time audio synthesis and algorithmic composition
GNU General Public License v3.0
14 stars 8 forks source link

Anything we can merge to upstream? #69

Closed nhthn closed 3 years ago

nhthn commented 5 years ago

hi all! i saw the discussion at #67 about upgrading to 3.10.

i think SuperCollider could be making some efforts to make bela+SC development smoother. we've sorta started this discussion before, but i'd like to revive it.

what are the differences between this fork and upstream? i'd especially like to look at patches to the non-user-extensible parts of SC such as the language and the server — i see belaSC has a lot of #ifdef BELA, so i think a lot of them could be safely merged without causing any disruption for non-Bela users.

giuliomoro commented 5 years ago

It's all pretty clean I'd say. Here is everything in one single commit, if you want to have a look: https://github.com/giuliomoro/supercollider/tree/bela/3.10-squashed

I think we could get away with removing some of those options from the server command line if needed, possibly having a single --bela option to which we can pass any further options.

nhthn commented 5 years ago

excellent! i think we can merge in the driver and command-line changes (with --bela prefixes preferably) and keep the bela-specific server plugins as a third-party plugins directory. @brianlheim has been working on a generator for plugins repositories that will help with that.

sensestage commented 5 years ago

In the language there is the move of the GUI classes to somewhere where it won't compile. That needs a more elegant solution still.

The BELA UGen class files are useful to have on regular SC, in case you are remote controlling a Bela running SC. That is a common practice while developing code for Bela. So that is a case where you'd want the UGen class files, but not the UGen plugin.

On 09/09/18 01:24, Nathan Ho wrote:

excellent! i think we can merge in the driver and command-line changes (with |--bela| prefixes preferably) and keep the bela-specific server plugins as a third-party plugins directory. @brianlheim https://github.com/brianlheim has been working on a generator for plugins repositories https://github.com/brianlheim/cookiecutter-supercollider-plugin that will help with that.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/BelaPlatform/supercollider/issues/69#issuecomment-419679484, or mute the thread https://github.com/notifications/unsubscribe-auth/AAMS3geKy3fkTIpObcRDt6t5mQuLgdtvks5uZFHAgaJpZM4Wf-Fw.

giuliomoro commented 5 years ago

@sensestage I guess you are referring to the list of files below, right? Could we not leave them in place and either: a) avoid installing them when no GUI is installed (change to CMake I guess), or b) avoid loading them when sclang is compiled without GUI (change to the .cpp files of sclang)?

 SCClassLibrary/{Common => scide_scqt}/GUI/Base/BasicViews.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/Download.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/DragView.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZKnob.sc                               |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZListView.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZNumber.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZPopUpMenu.sc                          |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZRangerSC.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZScroller.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZSlider.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZSpecEditor.sc                         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZText.sc                               |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/EZgui.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/FlowLayout.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/Gradient.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/Grid.sc                                 |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QDialog.sc                              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QEnvelopeView.sc                        |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QFont.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QImage.sc                               |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QKnob.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QLayout.sc                              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QLevelIndicator.sc                      |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QListView.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QMultiSliderView.sc                     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QNumberBox.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QObject.sc                              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QPalette.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QPen.sc                                 |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QPenPrinter.sc                          |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QQuartzComposerView.sc                  |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QRangeSlider.sc                         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QSlider.sc                              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QSlider2D.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QSoundFileView.sc                       |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QTextView.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QTreeView.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QUserView.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QView.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QWebView.sc                             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QWindow.sc                              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/QtGUI.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/ScopeView.sc                            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/enums.sc                                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/extValueActionIfChanged.sc              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/Base/viewExtensionsQt.sc                     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Collections/StringPlusGUI.sc         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/FreqScope.sc                 |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/ServerPlusGUI.sc             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/SynthDescLibPlusGUI.sc       |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/SynthDescPlusGUI.sc          |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/UGen-scope.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/scopeResponse.sc             |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/server-meter.sc              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Control/server-scope.sc              |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Core/ClassBrowser.sc                 |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Core/HistoryGui.sc                   |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Core/KernelPlusGUI.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Core/NilPlusGUI.sc                   |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Core/ObjectPlusGUI.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Files/FilePlusGUI.sc                 |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/PlusGUI/Math/PlotView.sc                     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/GUI.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/SCScope.sc            |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/SCViewHolder.sc       |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/classNameRedirects.sc |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/deprecated-3.7.sc     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/flowViewSupportQt.sc  |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/backwardsCompatibility/viewExtensions.sc     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/iphone/Base/GUIScreen.sc                     |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/iphone/Base/SCFont.sc                        |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/iphone/Base/SCView.sc                        |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/HelpBrowser.sc                         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/Inspector.sc                           |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/ServerMeter.sc                         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/Stethoscope.sc                         |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/guicrucial/ObjectGui.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/guicrucial/PageLayout.sc               |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/guicrucial/StringGui.sc                |    0
 SCClassLibrary/{Common => scide_scqt}/GUI/tools/guicrucial/gui.sc                      |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/EnvirGui.sc                        |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/JITGui.sc                          |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/MonitorGui.sc                      |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/NdefGui.sc                         |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/NdefParamGui.sc                    |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/ParamView.sc                       |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/ProxyMixer.sc                      |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/ProxyMonitorGui.sc                 |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/TaskProxyGui.sc                    |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/extJITgui.sc                       |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/extPxMixWindow.sc                  |    0
 SCClassLibrary/{JITLib/GUI => scide_scqt/JITLibGUI}/extSoftSet.sc                      |    0
mossheim commented 5 years ago

In the language there is the move of the GUI classes to somewhere where it won't compile. That needs a more elegant solution still

I believe we solved that on our end in this PR: https://github.com/supercollider/supercollider/pull/3456

but maybe I am misunderstanding

sensestage commented 5 years ago

Yes, that will probably fix it.

On 09/09/18 23:55, Brian Heim wrote:

In the language there is the move of the GUI classes to somewhere
where it won't compile. That needs a more elegant solution still

I believe we solved that on our end in this PR: supercollider#3456 https://github.com/supercollider/supercollider/pull/3456

but maybe I am misunderstanding

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/BelaPlatform/supercollider/issues/69#issuecomment-419747826, or mute the thread https://github.com/notifications/unsubscribe-auth/AAMS3qK2idelIKKhoixDeWkLi0qppJzwks5uZY5AgaJpZM4Wf-Fw.

giuliomoro commented 5 years ago

it does indeed

giuliomoro commented 3 years ago

superseded by #73