I planned to use AudioCapture[] in a cloud notebook and just found out it’s not supported. There used to be a convenient “not in the cloud” icon in a symbols documentation page, but it’s gone now.


This is not a complete answer.

In chrome on the mac using these versions:

In[2]:= $Version
Out[2]= 12.0.0 for Linux x86 (64-bit) (April 7, 2019)

In[1]:= $CloudVersion
Out[1]= (November 5, 2019)

I found a partial list (before my $CloudCredits ran out) of unsupported symbols, meaning they issue the ::cloudf message:

nocloud = {"AudioCapture", "AudioPause", "AudioPlay", "AudioStop", 
   "AudioStream", "AudioStreams", "ConnectSystemModelComponents", 
   "CreateDataSystemModel", "CreateSystemModel", 
   "CurrentNotebookImage", "CurrentScreenImage", "DatabaseConnect", 
   "DatabaseDisconnect", "DatabaseReference", "DeviceClose", 
   "DeviceConfigure", "DeviceExecute", "DeviceExecuteAsynchronous", 
   "DeviceObject", "DeviceOpen", "DeviceRead", "DeviceReadBuffer", 
   "DeviceReadList", "DeviceReadTimeSeries", "Devices", 
   "DeviceStreams", "DeviceWrite", "DeviceWriteBuffer", 
   "DynamicImage", "FindDevices", "FindSystemModelEquilibrium", 
   "FunctionCompile", "FunctionCompileExport", 
   "FunctionCompileExportByteArray", "FunctionCompileExportLibrary", 
   "FunctionCompileExportString", "GestureHandler", "ImageCapture", 
   "InteractiveTradingChart", "NetworkPacketCapture", 
   "NetworkPacketRecording", "PingTime", "RelationalDatabase", 
   "RemoteConnect", "RemoteFile", "RemoteRun", "RemoteRunProcess", 
   "RemoveAudioStream", "SetSystemModel", "SystemDialogInput", 
   "SystemInstall", "SystemModel", "SystemModeler", 
   "SystemModelExamples", "SystemModelLinearize", 
   "SystemModelParametricSimulate", "SystemModelPlot", 
   "SystemModelProgressReporting", "SystemModelReliability", 
   "SystemModels", "SystemModelSimulate", 
   "SystemModelSimulateSensitivity", "SystemModelSimulationData", 
   "SystemProcessData", "SystemProcesses", "DynamicImage", 
   "FunctionCompile", "FunctionCompileExportString", "RemoteConnect", 
   "SystemModel", "SystemModelPlot", "SystemModelSimulate", 
   "SystemModelSimulateSensitivity", "SystemModelSimulationData"};

Of course, this doesn't symbols in packages that are missing like FEPrivate, CUDALink, etc. I'd say this question is almost impossible to answer fully, as it differs across platforms and devices. For instance, CurrentImage[] works on MacOS in Chrome (if you allow it), but not on the Wolfram Cloud iOS app:

enter image description here

  • $\begingroup$ You can actually probably check many of these locally by looking for a condition test for $CloudEvaluation (or whatever that symbol is called again...). Similarly, you could look for a defined sym::cloudf as a first preprocessing step, although that can be bound dynamically. $\endgroup$ – b3m2a1 Dec 13 '19 at 17:48
  • $\begingroup$ @b3m2a1 So I did this by for symbol X running TimeConstrained[CloudEvaluate[X[]],.1] and checking for ::cloudf, but this doesn't work for options, what exactly would you run instead? $\endgroup$ – M.R. Dec 13 '19 at 18:40
  • $\begingroup$ Check Messages[X] for ”cloudf" and check Keys@Downvalues[X] for something containing $CloudEvaluation to see if it special cases for the cloud. That will give a prefilter then you can write filters on top of that. $\endgroup$ – b3m2a1 Dec 13 '19 at 19:05
  • $\begingroup$ Is there a way to do the cloudevaluate portion without blowing away my cloud credits $\endgroup$ – M.R. Dec 13 '19 at 19:26
  • $\begingroup$ Which I actually did lol $\endgroup$ – M.R. Dec 13 '19 at 19:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.