2015/07/29 13:46:49
Brando
brconflict
I'd imagine the demand isn't very high for this, but what demand is there is high. But writing APIs for the vast features/functions of Sonar can't be easy at all.


That's why we pay them the big bucks.
2015/08/31 10:30:18
Robert McAlister
Noel Borthwick [Cakewalk]
The root problem is not replacing CAL. It is exposing the object/document model to the outside world. 
Designing and exposing an interface to all the internal objects is the main job here. Choosing a scripting language to access that is secondary. Obviously CAL itself is obsolete and inappropriate.
I've wanted to do this since I joined Cakewalk but its a big project and its been difficult to justify spending resources on since we have a big pipeline of things to do.



Sounds like the problem is not replacing CAL, it's what the company puts in the pipeline.
2015/08/31 11:22:52
BobF
As a precursor to embedding LUA in Sonar, getting *everything* exposed for kbd shortcuts and expanding the Custom Module to allow sets of buttons would be a great start.
 
Hades ... with full exposure even ahk would become extremely powerful.
 
 
2015/08/31 11:24:48
BobF
Out of curiosity ... what is the first script you would write if scripting were fully implemented today?
 
 
2015/08/31 11:47:53
Robert McAlister
BobF
Out of curiosity ... what is the first script you would write if scripting were fully implemented today?



Invert MIDI events selected between From and Thru.
2016/04/27 17:11:41
thx1200
This is an old thread, but I just happened to be searching to see if there was any development on the scripting front for Sonar.  CAL is useful, but hasn't been developed for...what decades now?  I too would be very happy if they reinvested in CAL or developed a new scripting language, really anything to make ANY scripting a great integral part of Sonar.  Sometimes you need to automate something and it's just not possible through the GUI, which is frustrating.  I love the suggestions to implement it on the .Net stack (since Sonar is Windows only anyway).  If they did it right, this would work with PowerShell too, since PS is .Net.  (I love me some PowerShell - can you imagine if a project file had a provider and you could use all the native file system commands to manipulate track data from within the provider? wow.)
 
Sidenote: Bitwig's javascript implementation is for controller interfacing.  It doesn't appear to be a full deeply integrated scripting language from what I've seen.  Cakewalk actually has a really nice controller interface public SDK too already, although it's COM and C++, which is possibly less easy to pick up for most people, depending on your development background.  I haven't played with it personally, but I'm toying with the idea of dusting off the C++ part of my brain to give it a try.  it's still not as deeply integrated as CAL, so you can't, for example, edit note data in a track, but there are probably some cool things you could do with a virtual controller app/plugin very similar to Bitwig's scripts.
2016/04/27 17:38:08
azslow3
MIDI manipulation scripting:  http://www.azslow.com/index.php/topic,286.0.html
It is Lua based because one user has promised at least test it, he did not.
 
Almost everything CS SDK allows, in interactive IDE form, with MIDI, TTS, Joystick and OSC: http://www.azslow.com/index.php/topic,7.0.html
 
Exists for quite some time, free to use. In practice used by ~2.5 man... At least I have managed to reduce the number of complains about not existing surface support and MIDI scripting. Once something exists, there is no more reason to continue complaining. Not that "authors" have ever try to use all that... prove me wrong
 
2016/05/02 12:10:10
John Joseph [Cakewalk]
azslow3
TomHelvey
Lisp is dead and buried

Old, proved by time and standardized solutions will be dead once there is a change in computer architecture, which has not happened during the last 60 years...
 

all the kids hack Python these days.

Modern, out of concept non standardized solutions are good for kids... only.
 

... boost::...

A collection of nice theoretical concepts projected into practice... I was born in USSR, I know how it ends.
 
I think the problem of CAL is not the language but underlying connections to the features in SONAR introduced since CAL was revised for the last time.



Disclaimer: this is me speaking as a programmer, not as a Cakewalk dev. 
 
The only thing I agree with here is that boost is dicey. Python has shipped with many Unix distributions (including OS X) for years now and has become an integral part of that platform. CPython has earned the right to be a standard, and to say that it's too modern and good for kids only is simply not true. 
 
Furthermore, take a look at the Maya and Blender. Because those programs expose a well documented python API and a console directly into the program, users are able to script operations and even plugins. This has done wonders to grow the communities surrounding those programs while increasing their power and flexibility. I don't know what I'd do if I couldn't write Python scripts for Blender...
 
I'm actually very interested in this, and I have written a Python-C++ interface using template metaprogramming and the c standard library (albeit the very very modern iteration of it, I think you need c++14 to compile.) It's in a very infantile stage right now, but I hope to clean it up soon:
https://github.com/mynameisjohn/PyLiaison
 
With all that said, and putting back on my Cakewalk cap, I agree with Noel that this would be a gigantic change requiring years of plumbing the code so as to properly expose everything in a sane way. I'd love to see it but it would be no small feat. 
2016/05/02 14:30:14
azslow3
I have written that I think Python is not the best solution here and I have bound Lua as a scripting language for MIDI processing in Sonar (since it is unclear when other approaches are going to be supported).
 
You write that you disagree, Python is indeed could be good at that place, you have experience in binding it. And then putting Cakewalk cap back on you write that... nothing will happened
 
I will try to translate very old Russian joke, from Soviet Union times. To understand it, "Soviet" in Russian has the meaning "advise":
"
A: - Hello B, where can I buy a cow?
 B: - I have no idea, but I can give you a good advise ("Sovjet")...
 A: - Sorry, but I do not need an advise, I need a cow.
 B: - We are living in a country of advises, not in a country of cows!
"

2016/05/02 14:41:20
John Joseph [Cakewalk]
Hehe, yeah that's fair. I just got irked by the casual dismissal of python as something for children. And unfortunately we live in a world of deadlines and bills to pay...
© 2024 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account