Helpful ReplyReplace CAL With Python

Page: < 12 Showing page 2 of 2
Author
Brando
Max Output Level: -47.5 dBFS
  • Total Posts : 2776
  • Joined: 2003/11/06 11:47:20
  • Location: Canada
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2015/07/29 13:46:49 (permalink)
0
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.

Brando
Cakewalk, Studio One Pro, Reaper
Presonus Audiobox 1818VSL
ASUS Prime Z370-A LGA1151, 32GB DDR4, Intel 8700K i7, 500 GB SSD, 3 x 1TB HDD, Windows 10 Pro 64
#31
Robert McAlister
Max Output Level: -90 dBFS
  • Total Posts : 7
  • Joined: 2015/02/25 11:38:10
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2015/08/31 10:30:18 (permalink)
0
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.

Win 7 32 bit
8 GB ram
#32
BobF
Max Output Level: 0 dBFS
  • Total Posts : 8124
  • Joined: 2003/11/05 18:43:11
  • Location: Missouri - USA
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2015/08/31 11:22:52 (permalink)
0
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.
 
 

Bob  --
Angels are crying because truth has died ...
Illegitimi non carborundum
--
Studio One Pro / i7-6700@3.80GHZ, 32GB Win 10 Pro x64
Roland FA06, LX61+, Fishman Tripleplay, FaderPort, US-16x08 + ARC2.5/Event PS8s 
Waves Gold/IKM Max/Nomad Factory IS3/K11U

#33
BobF
Max Output Level: 0 dBFS
  • Total Posts : 8124
  • Joined: 2003/11/05 18:43:11
  • Location: Missouri - USA
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2015/08/31 11:24:48 (permalink)
0
Out of curiosity ... what is the first script you would write if scripting were fully implemented today?
 
 

Bob  --
Angels are crying because truth has died ...
Illegitimi non carborundum
--
Studio One Pro / i7-6700@3.80GHZ, 32GB Win 10 Pro x64
Roland FA06, LX61+, Fishman Tripleplay, FaderPort, US-16x08 + ARC2.5/Event PS8s 
Waves Gold/IKM Max/Nomad Factory IS3/K11U

#34
Robert McAlister
Max Output Level: -90 dBFS
  • Total Posts : 7
  • Joined: 2015/02/25 11:38:10
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2015/08/31 11:47:53 (permalink)
0
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.

Win 7 32 bit
8 GB ram
#35
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/04/27 17:11:41 (permalink)
0
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.
#36
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/04/27 17:38:08 (permalink)
0 (2)
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
 

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#37
John Joseph [Cakewalk]
Max Output Level: -88 dBFS
  • Total Posts : 126
  • Joined: 2015/02/18 16:37:35
  • Status: offline
Re: Replace CAL With Python 2016/05/02 12:10:10 (permalink) ☄ Helpfulby Mystic38 2016/06/06 09:06:40
0
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. 
#38
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Replace CAL With Python 2016/05/02 14:30:14 (permalink)
0
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!
"


Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#39
John Joseph [Cakewalk]
Max Output Level: -88 dBFS
  • Total Posts : 126
  • Joined: 2015/02/18 16:37:35
  • Status: offline
Re: Replace CAL With Python 2016/05/02 14:41:20 (permalink)
0
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...
#40
TheMaartian
Max Output Level: -47.5 dBFS
  • Total Posts : 2774
  • Joined: 2015/05/21 18:30:52
  • Location: Flagstaff, AZ
  • Status: offline
Re: Replace CAL With Python 2016/05/02 15:05:56 (permalink)
0
No "COBET" (advice; advise = консультировать) here, just something funny I've posted before...but it fits with this convo.
 
 
THE PROGRAMMER'S QUICK GUIDE TO THE LANGUAGES
 
The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you're currently using. This handy reference is offered as a public service to help programmers who find themselves in such a dilemma.
 
 
TASK: Shoot yourself in the foot.
 
C: You shoot yourself in the foot.
 
C++: You accidentally create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can't tell which are bitwise copies and which are just pointing at others and saying, "That's me, over there."
 
FORTRAN: You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue with the attempts to shoot yourself anyways because you have no exception-handling capability.
 
Pascal: The compiler won't let you shoot yourself in the foot.
 
Ada: After correctly packing your foot, you attempt to concurrently load the gun, pull the trigger, scream, and shoot yourself in the foot. When you try, however, you discover you can't because your foot is of the wrong type.
 
COBOL: Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be re-tied.
 
LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...
 
FORTH: Foot in yourself shoot.
 
Prolog: You tell your program that you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't permit it to explain it to you.
 
BASIC: Shoot yourself in the foot with a water pistol. On large systems, continue until entire lower body is waterlogged.
 
Visual Basic: You'll really only appear to have shot yourself in the foot, but you'll have had so much fun doing it that you won't care.
 
HyperTalk: Put the first bullet of gun into foot left of leg of you. Answer the result.
 
Motif: You spend days writing a UIL description of your foot, the bullet, its trajectory, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.
 
APL: You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.
 
SNOBOL: If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.
 
Unix:
 
 % ls
 foot.c foot.h foot.o toe.c toe.o
 % rm * .o
 rm:.o no such file or directory
 % ls
 %
 
Concurrent Euclid: You shoot yourself in somebody else's foot.
 
370 JCL: You send your foot down to MIS and include a 400-page document explaining exactly how you want it to be shot. Three years later, your foot comes back deep-fried.
 
Paradox: Not only can you shoot yourself in the foot, your users can, too.
 
Access: You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.
 
Revelation: You're sure you're going to be able to shoot yourself in the foot, just as soon as you figure out what all these nifty little bullet-thingies are for.
 
Assembler: You try to shoot yourself in the foot, only to discover you must first invent the gun, the bullet, the trigger, and your foot.
 
Modula2: After realizing that you can't actually accomplish anything in this language, you shoot yourself in the head.
post edited by TheMaartian - 2016/05/02 15:29:29

Intel i7 3.4GHz, 16 GB RAM, 2 TB HD Win10 Home 64-bit Tascam US-16x08
Studio One 4 Pro NotionMelodyne 4 Studio Acoustica 7 Guitar Pro 7
PreSonus FaderPort Nektar P6 M-Audio BX8 D2 Beyerdynamic DT 880 Pro
NI K9U XLN AK, AD2 AAS VS-2, GS-2, VA-2, EP-4, CP-2, OD Toontrack SD3, EZK
#41
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Replace CAL With Python 2016/05/02 15:37:58 (permalink)
0
My personal favorites are:
 
TheMaartian
C: You shoot yourself in the foot.

Because that is logical...

Pascal: The compiler won't let you shoot yourself in the foot.

Because that is wise.
 

FORTH: Foot in yourself shoot.

Because in Russian language it is almost always possible to change the order of words without loosing the meaning


Assembler: You try to shoot yourself in the foot, only to discover you must first invent the gun, the bullet, the trigger, and your foot.

Because I can have fun implementing even so stupid tasks
 

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#42
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Replace CAL With Python 2016/05/02 17:39:24 (permalink)
0

John Joseph [Cakewalk] gave a Thumbs Down (-1) to your post

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...

I pay your bills (I am your customer) and somehow do your job. And you just gave "a Thumbs Down". That does not sounds fair for me...
 
Please do not worry, I understand what you mean. That is just a black Russian humor

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#43
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/05/18 17:56:56 (permalink)
0
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
 




I don't know when I'll have time to play with this, but this project excites me.  It's not quite like being "inside" Sonar with an integrated scripting language, but there looks to be a lot of potentially useful applications here.  I'll need to learn LUA.
#44
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Replace CAL With Python 2016/05/18 18:03:20 (permalink)
0
John Joseph [Cakewalk]
...
 
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. 



No small feat, certainly, but I think it would pay dividends with the rich communities and power features that users are able to code themselves and share with other users.  I also feel like a lot new DAWs are baking in scripting from the get-go so it may be seeing a resurgence as a requested feature from power users after a lot of years not being that way.  Hopefully that will help push scripting (of any kind, CAL, python, whatever!) up the priority list on Cake's product backlog for Sonar.
#45
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/05/19 05:24:06 (permalink)
0
thx1200
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

I don't know when I'll have time to play with this, but this project excites me.  It's not quite like being "inside" Sonar with an integrated scripting language, but there looks to be a lot of potentially useful applications here.  I'll need to learn LUA.

"Potentially useful" will never justify investments for commercial company (AZ Lua $5-10k, AZ Controller $200-300k, full proper scripting for the whole DAW probably $1000k+)

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#46
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/05/19 18:05:35 (permalink)
0
azslow3
"Potentially useful" will never justify investments for commercial company (AZ Lua $5-10k, AZ Controller $200-300k, full proper scripting for the whole DAW probably $1000k+)



I don't understand...?
#47
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/05/19 20:01:46 (permalink)
+1 (1)
thx1200
azslow3
"Potentially useful" will never justify investments for commercial company (AZ Lua $5-10k, AZ Controller $200-300k, full proper scripting for the whole DAW probably $1000k+)

I don't understand...?



DXi/MFX and CS API was published long time ago, CAL exists probably longer. Back in time I see more activity in this forum from power users, but still:
* CS API was known to be used by 3 persons (old BCR2000 plug-in, mod for MackieControl and my AZ Controller)
* MFX was used also by 3 persons (midi-plugins, TenCrazy and my)
* CAL scripts are developed by may be 10-20 users of this forum (used by more, but I do not think the number has many zeroes).
 
I mean you probably overestimate the number of potential "power users" and underestimate the costs to increase this number.
 
As you can see in this thread, CW (and I) are in general with both hands for such features. But commercial reality is different...

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#48
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/06/01 13:26:58 (permalink)
0
I don't know that's necessarily the case.  Not everybody who uses a feature jumps on the forums.  Also, CAL, as a language, is pretty out there.  Not many people really understand software engineering in general, let alone a language like LISP.  And, really, CAL was partially broken just one or two versions after its inception.  I remember scripts barely working in Pro Audio 9, let alone Sonar Platinum.
 
The other two cases were SDKs that also had a high barrier to entry for development.  If the scripting language was robust and well-known (think Javascript, just as an example, not that I'm advocating for it), I think you would see more people developing for it and a lot more people using it.  Also CAL had little to no UI component other than simple dialogs, so a lot of ideas just could never come to fruition.
 
Many of the new "cool kid" DAWs have a scripting component baked right in from the get-go.  Maybe it will fizzle out the way CAL did.  But maybe not?  Maybe it is worth the development. 
 
I work in a software shop for my day job so I understand project planning and development costs.  It's definitely not a cheap easy thing to bring scripting back as a first class citizen.  But the potential is massive.  If you took the hooks for CAL that are already there and maybe tied in some MFX and Control Surface hooks, then used an existing language (just so you aren't writing your own parsers and such, like with CAL), costs can be controlled.  It doesn't have to do everything on day one.  If it just did what we have now, but better, and in an easier to learn, low barrier to entry language, you might be surprised on the uptake.

ETA: I'm actually right now baking in PowerShell integration into a piece of software I write on the side and other than the interop wrapper functions for the automation functionality, it was really pretty easy to add.  I don't necessarily think PowerShell is the best way to go for Sonar (although I personally would love it), particularly now that they are targeting Macs, but I just wanted to point out that I have a little experience with this.
post edited by thx1200 - 2016/06/01 13:48:10
#49
SuperG
Max Output Level: -63 dBFS
  • Total Posts : 1371
  • Joined: 2012/10/19 16:09:18
  • Location: Edgewood, NM
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/06/01 15:29:32 (permalink)
0
thx1200
I don't know that's necessarily the case.  Not everybody who uses a feature jumps on the forums.  Also, CAL, as a language, is pretty out there.  Not many people really understand software engineering in general, let alone a language like LISP.  And, really, CAL was partially broken just one or two versions after its inception.  I remember scripts barely working in Pro Audio 9, let alone Sonar Platinum.
 
The other two cases were SDKs that also had a high barrier to entry for development.  If the scripting language was robust and well-known (think Javascript, just as an example, not that I'm advocating for it), I think you would see more people developing for it and a lot more people using it.  Also CAL had little to no UI component other than simple dialogs, so a lot of ideas just could never come to fruition.
 
Many of the new "cool kid" DAWs have a scripting component baked right in from the get-go.  Maybe it will fizzle out the way CAL did.  But maybe not?  Maybe it is worth the development. 
 
I work in a software shop for my day job so I understand project planning and development costs.  It's definitely not a cheap easy thing to bring scripting back as a first class citizen.  But the potential is massive.  If you took the hooks for CAL that are already there and maybe tied in some MFX and Control Surface hooks, then used an existing language (just so you aren't writing your own parsers and such, like with CAL), costs can be controlled.  It doesn't have to do everything on day one.  If it just did what we have now, but better, and in an easier to learn, low barrier to entry language, you might be surprised on the uptake.

ETA: I'm actually right now baking in PowerShell integration into a piece of software I write on the side and other than the interop wrapper functions for the automation functionality, it was really pretty easy to add.  I don't necessarily think PowerShell is the best way to go for Sonar (although I personally would love it), particularly now that they are targeting Macs, but I just wanted to point out that I have a little experience with this.




You're barking up the .NET tree. This is something that would be language agnostic.
 
I've done an application scripting interface based on the Sony Vegas model myself.
 
But the issue is, as Noel pointed out earlier in this thread, this problem is having a congruent 'doc/object' model.  Get those particular ducks in a row first, then adding a scripting interface is straightforward.
 
 

laudem Deo
#50
Mystic38
Max Output Level: -59 dBFS
  • Total Posts : 1622
  • Joined: 2010/08/30 17:40:34
  • Location: Mystic, CT
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/06/16 10:18:02 (permalink)
+1 (1)
I completely accept your rationale for not having addressed this in the past, however given the increasing use of laptop + controller (be it keyboard, pad or grid types) , having these hooks and providing a development framework (preferably Python - due to its popularity and no more) to allow template development i would see as a key priority for growth in new users.
 
Here is a tongue in cheek view...
 
Without dedicated templates for the APC and Launchpad, Ableton Live is nothing more than matrix view with a below average DAW attached.
 
 
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.





post edited by Mystic38 - 2016/06/16 10:40:23

HPE-580T with i7-950, 8G, 1.5T, ATI6850, Win7/64, Motu 828 III Hybrid, Motu Midi Express, Sonar Platinum, Komplete 9, Ableton Live 9 & Push 2, Melodyne Editor and other stuff, KRK VXT8 Monitors
Virus Ti2 Polar, Fantom G6, Yamaha S70XS, Novation Nova, Novation Nova II, Korg MS2000, Waldorf Micro Q, NI Maschine Studio, TC-VoiceLive Rack, 2012 Gibson Les Paul Standard, 2001 Gibson Les Paul DC, 1999 Fender Am Hardtail Strat, Fender Blues Jr, Orange TH30/PPC212, Tak EF360GF, one mic, no talent.
#51
thx1200
Max Output Level: -89 dBFS
  • Total Posts : 92
  • Joined: 2004/01/31 18:01:27
  • Status: offline
Re: Update CAL to use Perl or Python Syntax 2016/06/23 18:26:51 (permalink)
0
SuperG
You're barking up the .NET tree. This is something that would be language agnostic.
 
I've done an application scripting interface based on the Sony Vegas model myself.
 
But the issue is, as Noel pointed out earlier in this thread, this problem is having a congruent 'doc/object' model.  Get those particular ducks in a row first, then adding a scripting interface is straightforward.

 
.Net is what I know best, so I use it for examples.  I agree with you 100%.
#52
Page: < 12 Showing page 2 of 2
Jump to:
© 2024 APG vNext Commercial Version 5.1