Code examples missing in "Getting started with..." (scide/linux)

I’m trying to into supercollider again, and was pleasantly surprised that there’s now scide :slight_smile:

However it seems all the code in the “Getting started with…” tutorial included with the install is missing all code examples, making it a bit hard to follow. Am I doing something wrong or missing something? I’m going over the tutorial online, but it would be great (and I suppose is intended) to be able to work with the code examples without any internet connection…

NB: Installed supercollider 3.10.0 from debian/stable repos with apt-get…

Hello and welcome,

Though on OSX, I noticed such, I’m citing myself from an old thread, hope it helps on Linux too.

… I just encountered code to be invisible within the help files after a fresh quark install on SC 3.11 (OSX). This might be related to switching between different SC versions, safely delete the folder “Help” in Platform.userAppSupportDir resp. Platform.systemAppSupportDir, you can also delete the yaml files in the same folder, then restart SC. Also this can help with updates (especially of extensions):

SCDoc.indexAllDocuments(true)

Thanks a lot for chiming in!

Unfortunately it didn’t change anything, maybe I did something wrong (I’m pretty new to supercollider):

  1. I executed Platform.userAppSupportDir in scide, it “returns” home/atte/.local/share/SuperCollider

  2. In that folder I renamed the folder Help to Help_old

  3. There were no yaml files in or below that folder…

  4. Then I restarted scide and executed SCDoc.indexAllDocuments(true)

  5. Restarted scide again

  6. Although I see the following in scide, the code is still missing from the tutorial:

    SCDoc: Indexing help-files…
    SCDoc: Indexed 1349 documents in 0.62 seconds

Any ideas?

Did you check also with Platform.systemAppSupportDir ?

If this doesn’t help, I have no idea. Maybe a linux user could chime in. If the problem persists, it would be a case for the GitHub issue tracker. I just looked at it and didn’t find a suiting thread yet.

@a773 does this sound like your problem? https://bugs.launchpad.net/ubuntu/+source/supercollider/+bug/1833752
if so, there are a couple of comments that have a solution (mine among them :slight_smile: )

Thanks @Alberto_Gomez!
For the records, it is on the issue tracker, haven’t found it:

Ok, found a solution.

It seems the three files in ~/.local/share/SuperCollider/Help/lib were symlinked wrong (with relative path that doesn’t exist for example “…/…/…/javascript/codemirror/codemirror.js”).

So I removed the three symlinks and linked to the ones from supercollider like this:

cd ~/.local/share/SuperCollider/Help/
rm -rf lib
ln -s /usr/share/SuperCollider/HelpSource/lib/

And now the help files looks as expected :slight_smile:
Thanks for the pointers!

Next problem:

On my raspberry pi 4, there’s no help window showing up, and the help menu is missing the entries “show help browser”, “look up documentation for cursor” and “look up documentation”.

Supercollider is same version as on the laptop 3.10.0, also installed from the repo…

The /usr/share/SuperCollider/HelpSource folder is there, but the Help folder doesn’t get created in ~/.local/share/SuperCollider. I tried copying the Help folder from the laptop (where it’s working now), but no joy…

Ideas?

What happens if you run HelpBrowser.new ?
Do you get any output in the “post window” that could give you a hint on what’s happening?

Well there’s somthing in the post window for sure, doesn’t give me any hint, though :slight_smile:

ERROR: Qt: Factory for class 'QtCollider::WebView' not found!
ERROR: Primitive '_QObject_New' failed.
Failed.
RECEIVER:
Instance of WebView {    (0x3781670, gc=68, fmt=00, flg=00, set=06)
  instance variables [49]
    qObject : nil
    finalizer : nil
    virtualSlots : nil
    wasRemoved : false
    font : nil
    resize : Integer 1
    alpha : Float 1.000000   00000000 3FF00000
    decorator : nil
    layout : nil
    userCanClose : true
    deleteOnClose : true
    action : nil
    mouseDownAction : nil
    mouseUpAction : nil
    mouseEnterAction : nil
    mouseLeaveAction : nil
    mouseMoveAction : nil
    mouseOverAction : nil
    mouseWheelAction : nil
    keyDownAction : nil
    keyUpAction : nil
    keyModifiersChangedAction : nil
    keyTyped : nil
    focusGainedAction : nil
    focusLostAction : nil
    dragLabel : nil
    beginDragAction : nil
    canReceiveDragHandler : nil
    receiveDragHandler : nil
    toFrontAction : nil
    endFrontAction : nil
    onClose : nil
    onResize : nil
    onMove : nil
    onLoadFinished : nil
    onLoadFailed : nil
    onLoadProgress : nil
    onLoadStarted : nil
    onLinkActivated : nil
    onLinkHovered : nil
    onReloadTriggered : nil
    onJavaScriptMsg : nil
    onSelectionChanged : nil
    onTitleChanged : nil
    onUrlChanged : nil
    onScrollPositionChanged : nil
    onContentsSizeChanged : nil
    onAudioMutedChanged : nil
    onRecentlyAudibleChanged : nil
}
CALL STACK:
	MethodError:reportError
		arg this = <instance of PrimitiveFailedError>
	Nil:handleError
		arg this = nil
		arg error = <instance of PrimitiveFailedError>
	Thread:handleError
		arg this = <instance of Thread>
		arg error = <instance of PrimitiveFailedError>
	Object:throw
		arg this = <instance of PrimitiveFailedError>
	Object:primitiveFailed
		arg this = <instance of WebView>
	QObject:initQObject
		arg this = <instance of WebView>
		arg className = 'QtCollider::WebView'
		arg argumentArray = [*2]
	Meta_View:new
		arg this = <instance of Meta_WebView>
		arg parent = <instance of Window>
		arg bounds = <instance of Rect>
		var p = <instance of TopView>
	HelpBrowser:init
		arg this = <instance of HelpBrowser>
		arg aHomeUrl = "file:///home/atte/.local/sha..."
		arg aNewWin = false
		var toolbar = <instance of Event>
		var lblFind = <instance of StaticText>
		var txtFind = <instance of TextField>
		var findView = <instance of CompositeView>
		var saveSize = nil
		var toggleFind = nil
		var strh = 15.0
		var vPad = 10
		var hPad = 20
		var marg = 10
		var winRect = <instance of Rect>
		var x = 5
		var y = 40.0
		var w = 790
		var h = 790.0
		var str = "Find text in document:"
	Interpreter:interpretPrintCmdLine
		arg this = <instance of Interpreter>
		var res = nil
		var func = <instance of Function>
		var code = "HelpBrowser.new"
		var doc = nil
		var ideClass = <instance of Meta_ScIDE>
	Process:interpretPrintCmdLine
		arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_QObject_New' failed.
Failed.
RECEIVER: a WebView

That error means that your class library refers to WebView but the sclang binary doesn’t include web view support, probably because of cmake flags when you built it.

hjh

Well, as mentioned I didn’t build it, but installed it from the repos…

Ok, I decided to dive in and compile from supercollider from source. Everything went fine on the laptop, however on the pi the show stopped when it turned out qtwebengine5-dev is not available from the repos (raspbian). I have no idea why this exact package is not available, but I suspect that to be the root of the problem (why there’s no help available on the pi).

Case closed here, I’ll have to live without help on the pi and probably focus most/all of my supercollider activities on the laptop.

Thanks for all the inputs!

yeah, unfortunately the IDE and sclang help browsers are not available on RPi because of this, which we document at the top of the readme: https://github.com/supercollider/supercollider/blob/develop/README_RASPBERRY_PI.md#building-supercollider-on-raspberry-pi

we should really have a more obvious error message when someone tries to use them, though.

you have some solutions to keep working on RPi. you can render the documentation locally and open the help files in a web browser, use doc.sccode.org, or browse the documentation on a different computer.