TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Replace CAL With Python
Please :) Lisp is a dead language, it may have been perfect but New Jersey won a long time ago. Prefix notation is awkward and counter intuitive and even CS students have a hard time groking recursion (Lisp is recursive, not iterative). It would be much nicer to be able to script in a language that can be picked up and understood quickly.
post edited by TomHelvey - 2015/07/18 02:59:25
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
Splat
Max Output Level: 0 dBFS
- Total Posts : 8672
- Joined: 2010/12/29 15:28:29
- Location: Mars.
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2014/10/03 11:37:57
(permalink)
I guess you could develop a CIL and then you could use any language !!! :)
Sell by date at 9000 posts. Do not feed. @48/24 & 128 buffers latency is 367 with offset of 38. Sonar Platinum(64 bit),Win 8.1(64 bit),Saffire Pro 40(Firewire),Mix Control = 3.4,Firewire=VIA,Dell Studio XPS 8100(Intel Core i7 CPU 2.93 Ghz/16 Gb),4 x Seagate ST31500341AS (mirrored),GeForce GTX 460,Yamaha DGX-505 keyboard,Roland A-300PRO,Roland SPD-30 V2,FD-8,Triggera Krigg,Shure SM7B,Yamaha HS5.Maschine Studio+Komplete 9 Ultimate+Kontrol Z1.Addictive Keys,Izotope Nectar elements,Overloud Bundle,Geist.Acronis True Image 2014.
|
TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2014/10/05 03:44:05
(permalink)
True, but you might as well write your own VSTs. Not a lot of separation between the two, scripting languages should be easily understood by non-programmers. It takes a lot more code and effort to write to a CLI. An infix scripting language is a lot easier to code to than a COM interface. CakeAlexS I guess you could develop a CIL and then you could use any language !!! :)
post edited by TomHelvey - 2014/10/05 04:01:46
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
Splat
Max Output Level: 0 dBFS
- Total Posts : 8672
- Joined: 2010/12/29 15:28:29
- Location: Mars.
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2014/10/05 04:07:34
(permalink)
Sorry I but wrote CIL not CLI. And it does not necessarily have to be COM (a la .NET framework) thing. You could adopt a variation using CAL as a CIL if you like. Any layer on top could be a scripting language. Important again ... Forget about .Net framework. Regardless I'd be surprised of resources would be put into this... Cheers..
post edited by CakeAlexS - 2014/10/05 04:20:39
Sell by date at 9000 posts. Do not feed. @48/24 & 128 buffers latency is 367 with offset of 38. Sonar Platinum(64 bit),Win 8.1(64 bit),Saffire Pro 40(Firewire),Mix Control = 3.4,Firewire=VIA,Dell Studio XPS 8100(Intel Core i7 CPU 2.93 Ghz/16 Gb),4 x Seagate ST31500341AS (mirrored),GeForce GTX 460,Yamaha DGX-505 keyboard,Roland A-300PRO,Roland SPD-30 V2,FD-8,Triggera Krigg,Shure SM7B,Yamaha HS5.Maschine Studio+Komplete 9 Ultimate+Kontrol Z1.Addictive Keys,Izotope Nectar elements,Overloud Bundle,Geist.Acronis True Image 2014.
|
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
2014/10/05 14:08:39
(permalink)
Perl isn't really much of an easy language for someone not already versed Unix shell-speak. Python, maybe, but why a half measure when you could C# (ala .Net)? Using .NET as a scripting interface is quite smart, because scripting can be as easy or as involved as desired. The quintessential example of a application using .Net for scripting is Sony Vegas. You don't need a compiler, just a text editor. You don't need to be a .Net expert either, and you can use VB as your script language if that's what floats your boat. It has it advantages, .NET, for scripting, over a roll-your-own language, or even something like python. In those cases, you still need to expose the application internals variables and/or functions you want to be scriptable, both through the language and into the application's internal representation. you'll likely need to some memory management as well, plus some level of error handling, both syntactical and run-time. A .Net scripting interface handles most all of that automatically, removing a whole lot of concerns for the scripting system developer. The basic job becomes simply exposing internal objects as .Net interface objects, nothing more. As I mentioned, Sony Vegas is *the* key example to follow for a commercial application. Their documentation simply list all the objects, (i.e, tracks, etc..) you can get at - and you can use any language that torques your motor. I was so impressed with how Vegas implemented there system that I implemented myself an identical system for a manufacturing test platform. It let manufacturing engineers add or modify existing tests without needing to be a language export, using nothing more than windows notepad. I would think it certainly doable for CW - it's a Windows shop after all, and .Net isn't even limited to windows these days - some of the embedded product I've worked on are linux based and have .Net available for system extensions.
post edited by SuperG - 2014/10/05 14:21:36
|
TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2014/10/05 15:27:33
(permalink)
Really, anything other than other than Lisp would be fine, JavaScript? As long as you don't have to install anything other than Sonar to make it work. Scripts need to be exchangeable, most people aren't going to have Visual Studio installed on their DAWs.
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
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
2014/10/05 16:43:50
(permalink)
TomHelvey Really, anything other than other than Lisp would be fine, JavaScript? As long as you don't have to install anything other than Sonar to make it work. Scripts need to be exchangeable, most people aren't going to have Visual Studio installed on their DAWs.
Of course. You don't need Visual Studio to create a .NET script, a plain text editor works fine - because the scripts are text, there is no 'compile' step, and scripts are used by the application in text form - text is about as exchangeable as it gets. Many folks might be under the impression that you need to be a sort of big-time programmer to use .Net in a scripting scenario, but nothing could be further from the truth. There's quite a lot misconception out there about what .Net is, how it's put together, and how it can be used. A lot it is due to incorrectly applying traditional compiled/linked language concepts to it.
|
TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Replace CAL With Python
2015/07/18 01:53:40
(permalink)
For a million reasons, most of which should be obvious. Lisp is dead and buried, all the kids hack Python these days. Seriously, Python is easy to learn and using a tool like boost::python, the bakers could easily make the scripting API much more powerful and robust, not to mention maintainable. Python is ubiquitous for scripting and automating things like DAWs and your living room, the entire Ableton control surface API is written in Python. If you want to hack your Push, you can decompile the control surface libs and tweak away. There are myriad reasons for supporting scripting in DAWs, re-implementing the scripting interface in Python would future proof Sonar for at least a decade while endearing it to power users.
post edited by TomHelvey - 2015/07/18 02:55:52
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
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
2015/07/18 04:08:02
(permalink)
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.
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
|
mudgel
Max Output Level: 0 dBFS
- Total Posts : 12010
- Joined: 2004/08/13 00:56:05
- Location: Linton Victoria (Near Ballarat)
- Status: offline
Re: Replace CAL With Python
2015/07/18 06:23:21
(permalink)
An interesting discussion but to no avail as CAL has been deprecated. Once Cakewalk decide to remove the remaining functions in place of some newer function that requires it, then say goodbye to CAL forever.
It's a shame.
Mike V. (MUDGEL) STUDIO: Win 10 Pro x64, SPlat & CbB x64, PC: ASUS Z370-A, INTEL i7 8700k, 32GIG DDR4 2400, OC 4.7Ghz. Storage: 7 TB SATA III, 750GiG SSD & Samsung 500 Gig 960 EVO NVMe M.2. Monitors: Adam A7X, JBL 10” Sub. Audio I/O & DSP Server: DIGIGRID IOS & IOX. Screen: Raven MTi + 43" HD 4K TV Monitor. Keyboard Controller: Native Instruments Komplete Kontrol S88.
|
williamcopper
Max Output Level: -68 dBFS
- Total Posts : 1120
- Joined: 2014/11/03 09:22:03
- Location: Virginia, USA
- Status: offline
Re: Replace CAL With Python
2015/07/18 07:41:20
(permalink)
While it's obscure and old, CAL as it is right now does things that no other daw can do (afaik). Cubase's 'logical editor' can do some of it, but not all. And it is far from lisp as a language! I seriously doubt if it can handle recursion, though I've never tried. It just a simple thing that takes arguments in the order you give them (prefix or reverse-reverse Polish, maybe). And since you can set a key command to a specific CAL program, it can be lightning fast to do. Cubase takes a good while to get your 'presets' found and set so the things I do in half a second take 30 seconds, and disrupt the flow of work.
post edited by williamcopper - 2015/07/18 07:50:40
|
TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Re: Replace CAL With Python
2015/07/18 13:32:32
(permalink)
azslow3 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...
Name one application in current use written in Lisp or Pascal for that matter. azslow3 Modern, out of concept non standardized solutions are good for kids... only.
Python is widely used and supported on virtually every platform. It's been around for years. Even old people can learn it easily. azslow3 A collection of nice theoretical concepts projected into practice... I was born in USSR, I know how it ends.
Most of the production code I've worked on over the last 10 years or so has used boost in some capacity. A lot of it makes it into the std library. azslow3 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.
Exactly my point about maintainability. It's much better to have a compile time failure when an incompatible change is made than a run time failure.
post edited by TomHelvey - 2015/07/18 14:00:44
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
Notecrusher
Max Output Level: -79 dBFS
- Total Posts : 579
- Joined: 2004/02/17 00:32:14
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/18 17:25:40
(permalink)
SuperG Using .NET as a scripting interface is quite smart, because scripting can be as easy or as involved as desired. The quintessential example of a application using .Net for scripting is Sony Vegas. You don't need a compiler, just a text editor. You don't need to be a .Net expert either, and you can use VB as your script language if that's what floats your boat. It has it advantages, .NET, for scripting, over a roll-your-own language, or even something like python. In those cases, you still need to expose the application internals variables and/or functions you want to be scriptable, both through the language and into the application's internal representation. you'll likely need to some memory management as well, plus some level of error handling, both syntactical and run-time. A .Net scripting interface handles most all of that automatically, removing a whole lot of concerns for the scripting system developer. The basic job becomes simply exposing internal objects as .Net interface objects, nothing more.
Makes so much sense. But you know, however Cake implements it, we really need a new scripting interface to replace the dead CAL. This is actually one of the star features of some DAWs like Bitwig with its javascript API. Many have jumped in w/ controller support, etc.
post edited by Notecrusher - 2015/07/18 17:34:55
|
TomHelvey
Max Output Level: -80 dBFS
- Total Posts : 537
- Joined: 2013/02/26 20:23:54
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/18 23:51:51
(permalink)
Correct me if I'm wrong, but wouldn't a .NET scripting interface require a user to drag in Visual Studio and all the bulk that implies? Whatever language is used, a scripting API has to be usable with just Sonar installed.
System: i7-6900, 64Gb, AMI X99 Carbon Pro Gaming, AMD Radeon HD 7700, Win 10 Pro PCIe: UAD Octo USB: MOTU midi express 128, OB-6 Module, Akai MPK-249, Moog SUB 37, Antelope Orion 32 HD, Softube Console 1, iLok, eLicenser DAW: Cubase Pro, Ableton Live, Sonar Platinum Plugins: Waves, UAD, Xfer, Lennar Digital, u-he, Reveal Sound, Spectrasonics, SoundToys, VPS, Blue Cat, iZotope, NI, Valhalla, Lexicon, etc. https://soundcloud.com/thomas-helvey
|
Notecrusher
Max Output Level: -79 dBFS
- Total Posts : 579
- Joined: 2004/02/17 00:32:14
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 00:25:31
(permalink)
|
mudgel
Max Output Level: 0 dBFS
- Total Posts : 12010
- Joined: 2004/08/13 00:56:05
- Location: Linton Victoria (Near Ballarat)
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 04:33:06
(permalink)
In making the decision to deprecate CAL I can't see Cakewalk now turning around to say we're going to open it up to language such and such for scripting. I wish there could be a different outcome.
My question to all you programming guys is, Is it feasible or even possible for that matter, for Cakewalk to go in and create the hooks for a new scripting interface when they weren't prepared or able to keep up the old one?
Mike V. (MUDGEL) STUDIO: Win 10 Pro x64, SPlat & CbB x64, PC: ASUS Z370-A, INTEL i7 8700k, 32GIG DDR4 2400, OC 4.7Ghz. Storage: 7 TB SATA III, 750GiG SSD & Samsung 500 Gig 960 EVO NVMe M.2. Monitors: Adam A7X, JBL 10” Sub. Audio I/O & DSP Server: DIGIGRID IOS & IOX. Screen: Raven MTi + 43" HD 4K TV Monitor. Keyboard Controller: Native Instruments Komplete Kontrol S88.
|
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
2015/07/19 04:56:42
(permalink)
mudgel My question to all you programming guys is, Is it feasible or even possible for that matter, for Cakewalk to go in and create the hooks for a new scripting interface when they weren't prepared or able to keep up the old one?
For programmer who knows what he/she is doing (I mean with an experience of writing interpreters/compilers, "python kids" are not helpful in this case) I estimate 1-2 weeks to make required hooks from existing, independent in which form they currently are. Cakewalk was experienced in that area in time of MFX and Control Surfaces API. But either the person who did that back in time or comparable skilled another one is still available is a questions... @Tom. I am not going to begin "old school" against "new school" war here. If you have ever written any interpreter, you should already understand my (subjective) point of view, and it will take to long to explain the reasons otherwise.
post edited by azslow3 - 2015/07/19 05:04:08
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
|
Noel Borthwick [Cakewalk]
Cakewalk Staff
- Total Posts : 6475
- Joined: 2003/11/03 17:22:50
- Location: Boston, MA, USA
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 07:59:33
(permalink)
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.
|
Notecrusher
Max Output Level: -79 dBFS
- Total Posts : 579
- Joined: 2004/02/17 00:32:14
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 13:17:37
(permalink)
☄ Helpfulby jimfogle 2016/04/29 14:09:18
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.
This is an investment you need to make. The API will open up all kinds of possibilities for Cakewalk, internal and external in terms of cross-product functionality, s/w to s/w, s/w to h/w. And all of this will drive Cakewalk sales.
|
KPerry
Max Output Level: -44 dBFS
- Total Posts : 3120
- Joined: 2011/04/26 15:13:15
- Location: London, UK
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 13:28:09
(permalink)
Marginally, surely? I don't think there are enough users who want to get their hands dirty or developers who want to develop for one platform (vs, say, VST) to make the signficant investment in time worthwhile.
|
williamcopper
Max Output Level: -68 dBFS
- Total Posts : 1120
- Joined: 2014/11/03 09:22:03
- Location: Virginia, USA
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 14:11:50
(permalink)
Ok, a more modern scripting interface would be great. It's just that there are (at least on my computer) a large number of 'legacy' programs in CAL; if they no longer worked I would no longer use Cakewalk. Tom Helvey, you keep saying "lisp" ... if you know Lisp and if you know CAL (and I have to believe you don't know either one) ... well, they are way way way far apart. Just joking here: but the closest CAL could come to lisp would be something like: (DO (DO(:O))
post edited by williamcopper - 2015/07/19 14:21:03
|
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
2015/07/19 17:07:57
(permalink)
KPerry Marginally, surely? I don't think there are enough users who want to get their hands dirty or developers who want to develop for one platform (vs, say, VST) to make the signficant investment in time worthwhile.
+ It is more about customizable processing scripts then VST, but the number of active developers is easy to find looking at MFX plug-ins and Control Surfaces (these API are available since ages). I think the point at which all opinions intersect is the possibility to continue using scripts in the future. Either Lisp/Python/C# or something else is not so important (who can write in one programming language can write in any, they are not so different as human languages...).
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
|
Notecrusher
Max Output Level: -79 dBFS
- Total Posts : 579
- Joined: 2004/02/17 00:32:14
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/19 17:55:27
(permalink)
Yes it would be CAL++ but the biggest win would be controller support.
|
KPerry
Max Output Level: -44 dBFS
- Total Posts : 3120
- Joined: 2011/04/26 15:13:15
- Location: London, UK
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/20 03:00:47
(permalink)
Isn't it 'just' iScriptable (memory?) that it needs to expose? Then one could use JScript and VBScript out of the box, and you can get PythonScript I believe (have to say though, I know of no developers using Python - C#, VB, Ruby, JavaScript, Java but not Python) or even PerlScript if you're feeling perverse.
That said, I think a better use of the Bakers' time would be to identify the (say) top 6-10 functions that people use CAL for (deduping notes is an obvious one), make them native functions and then drop CAL: supporting and testing, let alone enhancing, a scripting environment is always going to be difficult and not a good ROI given the environement/market.
|
williamcopper
Max Output Level: -68 dBFS
- Total Posts : 1120
- Joined: 2014/11/03 09:22:03
- Location: Virginia, USA
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/20 17:44:12
(permalink)
Please Kperry, that's a basic misunderstanding of CAL (not surprising since it's such an obscure thing). But "top 6-10 functions" implies that people use the few legacy default cal programs. So to follow that with, "and drop CAL" ... well, imagine your favorite reason for using Sonar being "dropped"? You wouldn't like that. My "top 6-20 CAL functions" are all written by me, and no one else knows anything about them, except the one or two I've posted here. Just to give an idea, I believe Sonar ships with under 40 cal programs, and I have about 80 in my CAL folder; I use exactly 0 of the shipped CAL programs (though I've used some of them as templates for other programs). Some of the things CAL can do: set all midi events selected to a given channel; change a set of program changes into a different set of program changes; change program changes to keyswitches; change keyswitches into program changes; set pitchwheel values by key major or minor; change program changes for one VST to program changes for a different VST; change keyswitches for one VSTi to keyswitches for a different VSTi; assign key switches by note distance; assign legato program changes by note distance and difference in end to start time; adjust velocity by a variety of curves; adjust controller values by a variety of curves; delete all of a controller; delete all of pitchwheel; delete all program changes; add default program changes for each note; divide according to various criteria into midi channels; ...
post edited by williamcopper - 2015/07/20 18:01:09
|
KPerry
Max Output Level: -44 dBFS
- Total Posts : 3120
- Joined: 2011/04/26 15:13:15
- Location: London, UK
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/21 06:47:46
(permalink)
I appreciate that losing those would be something of a pain (to put it mildly), but in the grand scheme of things, I think that trying to support a scriptable interface is so much work (complexity/keeping up-to-date/bugs/chance of data loss) that the least bad solution *on average* is to deprecate CAL and replace the most commonly used functions natively. Yeah, it'd suck if you're badly affected, but I believe the net result would be beneficial.
|
mudgel
Max Output Level: 0 dBFS
- Total Posts : 12010
- Joined: 2004/08/13 00:56:05
- Location: Linton Victoria (Near Ballarat)
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/21 09:13:32
(permalink)
I think from the available evidence, that this is Cakewalk's perspective as well.
Mike V. (MUDGEL) STUDIO: Win 10 Pro x64, SPlat & CbB x64, PC: ASUS Z370-A, INTEL i7 8700k, 32GIG DDR4 2400, OC 4.7Ghz. Storage: 7 TB SATA III, 750GiG SSD & Samsung 500 Gig 960 EVO NVMe M.2. Monitors: Adam A7X, JBL 10” Sub. Audio I/O & DSP Server: DIGIGRID IOS & IOX. Screen: Raven MTi + 43" HD 4K TV Monitor. Keyboard Controller: Native Instruments Komplete Kontrol S88.
|
pwalpwal
Max Output Level: -43 dBFS
- Total Posts : 3249
- Joined: 2015/01/17 03:52:50
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/25 09:10:25
(permalink)
given we're a windows-centric bunch, and ignoring Noel's issues with exposing an API, my preference for scripting would be PowerShell :-)
|
brconflict
Max Output Level: -56.5 dBFS
- Total Posts : 1891
- Joined: 2012/10/05 21:28:30
- Status: offline
Re: Update CAL to use Perl or Python Syntax
2015/07/29 13:24:58
(permalink)
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.
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.
Brian Sonar Platinum, Steinberg Wavelab Pro 9, MOTU 24CoreIO w/ low-slew OP-AMP mods and BLA external clock, True P8, Audient ASP008, API 512c, Chandler Germ500, Summit 2ba-221, GAP Pre-73, Peluso 22251, Peluso 2247LE, Mackie HR824, Polk Audio SRS-SDA 2.3tl w/upgraded Soniccraft crossovers and Goertz cables, powered by Pass-X350. All wiring Star-Quad XLR or Monster Cable. Power by Monster Power Signature AVS2000 voltage stabilizer and Signature Pro Power 5100 PowerCenter on a 20A isolation shielded circuit.
|
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:44:23
(permalink)
KPerry I appreciate that losing those would be something of a pain (to put it mildly), but in the grand scheme of things, I think that trying to support a scriptable interface is so much work (complexity/keeping up-to-date/bugs/chance of data loss) that the least bad solution *on average* is to deprecate CAL and replace the most commonly used functions natively. Yeah, it'd suck if you're badly affected, but I believe the net result would be beneficial.
Yes - but what if YOU'RE badly affected. The same sort of argument is propagating around things like notation view - that Cake should spin off a special version to get Notation OUT of SONAR. I'm like the Hulk when I'm mad - all green and nasty. To me "membership" implies something more than "we make it, you buy it". A reasonable position (to me, and maybe it's a bit naive) is nothing comes out . Build on what's there. Yes put in something new to replace CAL, but leave CAL itself in place until it is truly unmaintainable. Pulling it out to replace it with something that is 75% as complete is, IMO, a mistake.
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
|