I have a Cakewalk/Sonar project that opens perfectly in that DAW, but it doesn't recover anything in Reaper 7.42.
I'm using the latest version of the DLL.
Could you take a look at it? Where can I send/make it available?
Please upload .cwp (audio files are NOT required) somewhere and PM me the link (google drive, etc. have such feature).
Quote from: azslow3 on July 24, 2025, 11:19:47 AMPlease upload .cwp (audio files are NOT required) somewhere and PM me the link (google drive, etc. have such feature).
...AZ: I have saved the link and removed it, the forum is public...
I'm migrating several projects because I need to resume production on a new album. I'm putting them in this shared folder. One thing I've noticed is that projects that contained videos aren't bringing them back into Reaper. So, after the migration, I have to put the video back into the Reaper project.
One of the issues I'm having is that when I migrate the video to Reaper, the track keeps the sound file with it, whereas in Cakewalk there's a separation.
I can confirm some files can't be converted at all. I will investigate the reason.
Those which are converted looks reasonable, but I will check what kind of warnings they produce.
Video track is not converted by ReaCWP (no-one so far has ever tried/requested that...). Adding video to conversion is a complicated task, so please don't expect that in foreseeable future.
As with many other things, video in REAPER is not the same as in Cakewalk. You will need to find reasonable for you way to deal with that.
Quote from: azslow3 on July 25, 2025, 04:56:03 PMI can confirm some files can't be converted at all. I will investigate the reason.
Those which are converted looks reasonable, but I will check what kind of warnings they produce.
Video track is not converted by ReaCWP (no-one so far has ever tried/requested that...). Adding video to conversion is a complicated task, so please don't expect that in foreseeable future.
As with many other things, video in REAPER is not the same as in Cakewalk. You will need to find reasonable for you way to deal with that.
Thank you very much for the review.
I really don't expect a conversion regarding the Cakewalk video migration to Reaper, but I hope this is at least verified and that other possible conversions are performed with a message like: THE CAKEWALK PROJECT HAS VIDEO AND WILL NOT BE INSERTED INTO THE REAPER PROJECT.
As it stands, it doesn't perform any conversions under this condition.
If you could convert the project to whatever is possible, that would be a huge step forward, since currently, it's unclear what the conditions are for not opening the project.
Thank you very much.
Reporting there is not converted video is a different thing (there are many features which are not converted, most of them are not even detected... I mean I don't know how they are defined in the project)
But the part of the project which can be converted should be converted, even in case it has video, so that I am going to fix.
Please try b73 test build of ReaCWP (https://www.azslow.com/index.php?action=downloads;sa=view;down=57)
It should be able convert projects with video (not converting video, just not breaking existing conversion).
Video conversion is theoretically possible (I have found related section in .CWP, when not empty it was breaking the converter since I had no idea what it is). But implementing that is not one minute task.
About your projects:
* FX chains are not converted in general, but in addition trigger warnings about preset format. So
* reverb FXes are not there (FX chains) and increase warnings counter
* not reported to the user (printed by debug version...) are skipped ProChannel modules
The rest should be fine, if the code works as desired.
Note that ReaCWP is not working properly with not ASCII characters in file names. CWP files have many strings in (old) Windows single byte encodings. What is correct encoding is probably also in the file, but I don't know where... so I don't "re-code". Most users are from US... many international users (like myself) try to avoid not ASCII when using "old style" programs. And so that was not a big issue. But it seems like in your case it can be, sorry for inconvenience.
First, I'd like to thank you for your kindness in evaluating and implementing this version, and for sharing my checks on this. Since I live in Brazil, where Portuguese is the spoken language, I still have many projects that insert accent marks, not only in project names but also in tracks, which the code doesn't address.
1 - I tried to remove accented words from the names, and in some cases, it worked without any problems.
2 - In others, it crashed. I reopened it in SONAR and saved it without accent marks, after replacing all the accent marks in the tracks, but the error persisted. I'll make this project available to you in the same share.
Question:
Would it be possible to list the issues found in the warnings?
You mention that x warnings were found during the conversion. If these warnings could be included in the project's notes field, I believe they could improve the project's preparation in SONAR for a migration closer to the source.
Thank you very much.
I have tried TesteQuestao2020.CWP in Windows and Linux and it was converted as expected.
Note I don't have most plug-ins used in this project.
What you mean by "it crashed"? Real REAPER crash? If yes, does that happened after you see ReaCWP info dialog (where you see the number of warnings)? If you don't see ReaCWP dialog before crash, I have to try find the reason... If you see it, the conversion itself is over and the crash probably happens during plug-in(s) instantiation. In that case you need to troubleshoot using REAPER methods (it has way more then Cakewalk...).
In some of your example projects I see non-ascii characters in track names (and other places). And they seems like displayed correctly in REAPER. Cakewalk has switched to UTF-8 ~ in 2020. REAPER is using UTF-8. So that should work fine. For old projects with non ascii characters it make sense re-save in CbB/New Sonar, with hope that will convert these strings correctly.
In my quick check, old Sonar X2 doesn't display characters correctly if it is started with wrong OEM locale. I mean it can happened there is no codepage info in old projects. Theoretically I can try to use current OEM locale during conversion in case I detect non-utf8 characters, but that is tricky.
Please download b74 from the same place, it should be able load files with any name.
And now b75.
As I have written in other thread, errors and warnings are "logical bugs" and they are reported as such. Normally easy to understand for me from where it comes (and consequences), but will probably just confuse normal users (like "section N is not found for node M", "unexpected format of V", etc.).
In other words, warnings and errors mean converter hit something unexpected in the project, a good reason to contact the developer (me) for the explanation and possibly fix.
But I have introduced some info in b75, at the moment just which FXes are excluded from conversion (CW specific ProChannel modules and FX Chains).
Excellent! The messages you posted are very enlightening for those who have worked with SONAR for many years and allow me to correct the original project for a better migration. I'd like to share my thoughts on the messages:
FX chain '0 - Bass Drum' in 'BUMBO', not supported -
CWP-specific module 'SMOOTHER' in '1-VOZ' is skipped - This is a constant effect from SONAR's ProChannel.
FX chain '0 - Reverb Room' in 'Room', not supported - This is a set of SONAR FX. A feature that allows me to create an effects chain. This allowed me to open the source project and move the existing effects in the chain into the track, allowing me to have the effects individually. This is a great improvement, as it's a feature widely used by SONAR users, and it would be a huge loss not to have it in the migration. In Reaper 7.42, if I'm not mistaken, this is what's being called a Container.
FX chain '0 - Reverb Hall' in 'Hall', not supported - Same.
In your migration process, these issues you started mentioning in the Reaper project notes are issues for the users who are migrating. So I think it would be important to report their existence in your Message Box at the end.
Only display this message (No problem occurred during conversion) if there were no warnings.
Something like: There were no conversion errors, but check the Notes for this project.
I'm migrating several projects and your implementation has already given me a tremendous recovery.
I have just uploaded b76....
It happened unrolling FX Chains was relatively simple.
I know, putting them into REAPER 7 Containers is better. But that requires more coding, so not for today.
Also REAPER Containers have no separate Input/Output levelers, so conversion can't be exact in any case.
For that reason I still put note about unrolling.
Well, there are MANY things which (can) exist in CW project and are not converted / not detected / etc. ReaCWP teleports way more then any other cross-daw converters/formats, but I still can't write "everything except <short list>". I mean it make little sense to write in Notes what is not converted (in most cases I don't even know things are in the project).
BTW I forgot to write: big thanks for the communication. Most "users" try it... get frustrated... years later write somewhere "this thing doesn't work" ;)
Thank you, and I'll definitely revisit your implementations.
I was a Visual Basic, VB.Net, C++, and other developer for several years, and I know exactly what you're saying.
I'll send you a few more.
1 - The Preset Chain conversion was perfect, as it alerts you in project notes and separates the plugins on the track. With the previous version, I was opening the project in SONAR and inserting the plugins outside the chain. This is now perfect.
2 - In the SONAR project, many tracks appear to have no ProChannel input, even if I configure it with an "empty" preset, it's never empty. So I understand you're including a ReaEq instead.
3 - Another thing I still don't understand, but it must be because there's some kind of tag in the SONAR project that informs me that some tracks are including empty takes.
2.
I will start with an example for MIDI tracks. MIDI tracks have "parameter controls" which send particular CC, f.e. volume, chorus and reverb. When "Chorus" is at (default) 0, should Sonar technically "send" corresponding CC? If you have never "touched" it, logically you probably don't want it is set. But what should happened if you has touched it? It can happened that was a mistake, you reset it back to zero and "don't want it". But it can also happened you have explicitly set it to zero. For that reason there is a separate "Disable" option for all these controls, Sonar "enable" them whenever you touch them. But you have an option to "disable" at any time.
But such parameters "always exist", there are not created "on the fly".
ProChannel modules are complex and dynamic (unlike "filters" in old Sonar they replace, which was fixed). You probably don't want instantiate every module initially visible on every strip. But what happens if you touch any parameter? Sure, you can "disable" it as for MIDI parameters. But unlike MIDI parameters, which are "always there", you have already "instantiated" the module. And so, to be consistent, you need something else to "de-instantiate". In any case, you have to keep "preset" for changed parameter. The same in case your "default" preset is not "empty".
And now to ReaCWP. CWP is a binary format, any flag/parameter has to be deducted. There is no "de-instantiate" GUI control and so I don't know when (and if) a module is "not loaded" in case there is "preset".
ReaCWP instantiate ProChannel module (currently ReaCWP EQ only, but can happened FX Chains are also there, I have not checked yet) in case: ProChannel is not disabled for the track and there is preset for it.
By default, Sonar name them as "Proxy" and don't include presets. So there will be no ReaEQ. But templates and touching something in ProChannel change that. And I don't know what else I can use to decide.
3. lanes mapping is tricky, especially with comping, I guess I have not added "deleting" into the logic. There was some difficulty with empty lanes (I don't remember what exactly). There is "Delete lanes with no media items" Action (and other) for quick "fixing" the result.
BTW may be I manage to add "Containers" soon instead of "flat unrolling" chains. I mean in case you plan "final" export, it make sense postpone it a bit. If something prevents quick Container implementation, I will let you know.
Let's go. I'm sure many of these improvements you've made are incredibly important for the entire community looking to migrate from SONAR/Cakewalk to Reaper. You've probably noticed this by the number of downloads of the tool.
I've been spreading the word to the entire community I know who is interested in using it.
So, here are a few more considerations.
1 - PROCHANNEL - In my opinion, the current approach is completely correct.
2 - CONTAINERS/FX CHAIN - For me, the way you're doing it, removing the FX from the Chain and making them explicit in the track, is perfect, but I understand that purists will certainly appreciate having their Chains preserved.
3 - MIGRATED PROJECT NAME - I consider it important, within the possibilities, that you populate the Notes field of the Properties and the information about the name of the migrated project and its path appear in the TITLE field of the Project properties, as shown in the image below.
Place the information on the first line of notes
Converted from 'D:\Reaper Projects\0 - Milton Sica\MM_A chuva e a alma\MM_A chuva e a alma.cwp'
In the Title field as:
D:\Reaper Projects\0 - Milton Sica\MM_A chuva e a alma
This would make it much easier to execute the project rendering, where you can use marks in Reaper that automatically reference the content of these fields.
4 - SENDS - in some conversions the sending of some tracks, even though they are configured, I only get the sending if I delete and re-enter the sending.
I have uploaded b76m which tries to convert Chains as Containers (with notes, when required).
I am almost sure there is a mess with side-chaining and automations which target containers (probably also strips which have them). Also chains in Clip FXes as not converted (separate code). But in my first attempt containers are created.
You want project directory as title? That is no a good idea when project is not in a separate directory.
If you have an example of "not working sends", please upload it.
I've used the 76 here in projects with an FX Chain, but I haven't seen any changes.
Title: Yes, I think it would be great, as it could be edited. I have a render preset that uses the information contained in this field to direct the rendered file's destination, which is invariably a folder I create within the folder where I place the project.
I write b76M. But I have uploaded b77 (committed changes into versioning system ;) )
I have changed the behavior after your suggestions, but not the way you have suggested.
1. Title (and Author) are now set from Cakewalk project. Putting file name / directory there doesn't sound "right" for me. I guess most people expect original content there.
If you parse RPP, you can parse Notes.
2. I no longer show ReaCWP message in case there was no errors/warnings. But I mark Project Notes as "show on project load" in case there are "info" lines. So, if I have nothing to say, no dialog appear. If there is meaningful info, project notes are shown. If the tool knows something is fishy, the number of errors/warnings is shown.
Quote from: miltonsica on July 29, 2025, 09:52:34 PM3 - Another thing I still don't understand, but it must be because there's some kind of tag in the SONAR project that informs me that some tracks are including empty takes.
At least in the first project I have opened (Always On My Mind), original CWP has empty take lanes. If I remove some, they are removed in REAPER.
But as I have wrote, there was something tricky there (but not exactly what). So if you have an example when empty take lane is not shown in Sonar, but appears in REAPER, please give me an example.
In CWP2Song I do tricky "auto comping", since that was the only way I could find to achieve reasonable result. In ReaCWP I convert lanes "as is" (since that is possible).
I have considered to "hide" lanes now (in following builds, not worse separate upload). I guess that is the view most people keep in Sonar and real projects can look disappointing for new users even with lanes hidden (especially in case of empty lanes, like in your projects). Probably I was just so proud I have finally managed to convert lanes reasonably in REAPER 7 (or it was just simpler to debug...). Proper solution could be convert that display option from Sonar (per strip), but I in general don't (try to) convert any display options.
Excellent progress.
1 - PROJECT PROPERTIES - TITLE - It's very good. It's already a big step forward, as you can now create a script that references the contents of this field for various automations.
2 - INSTRUMENT MIDI TRACKS - I use virtual instruments in my projects that I play on my MIDI keyboard. Since I'm not an expert on the instrument, I often use Cakewalk's native Cakewalk Fx TRANSPOSE . When migrating to Reaper, this plugin, or any reference to it, disappears. Because I'm familiar with the project, I'll go ahead and create a JS-MIDI TRANSPOSES, but it would be important to have this reference to the loss of the TRANSPOSE plugin in the process. I've attached a project to that share that contains all the issues I've described.
I'll run more tests on other projects I'm migrating. As soon as I have reports, I'll send them to you.
I have uploaded b79. Nothing fancy, but some fixed.
EDIT: Envelopes for effects inside containers should work. Side-chaining into chain theoretically can work now (not tested).
For 2. MIDI FXes are not supported in general. Whatever is there is skipped.
As I have already mentioned, I am not parsing things which I am not converting (and not going to convert). And I will not do this just to print "it was there". In case of audio effects, some are converted, other are not. It make sense to give a hint what will be skipped and that is easy since I have to check what is "convertible". MIDI effects are completely different (in Cakewalk) and not "convertible".
Buenas (a cordial greeting used by Brazilians from the South), here are the reviews on the 79:
1 - The project properties screen is always displayed at the end of the verification process, and there are some warnings. Excellent.
2 - In the VOZ track, especially where I know there is no equalization plugin, a ReaEq plugin is being added (???).
Today I tested at least 30 projects, and all of them migrated the content.
For 2. In the project "MM_A melhor..." (from upload): there is no EQ in "VOZ" track, but there is (enabled) EQ in "1-VOZ" bus. I have hard time to notice when ProCh module is enabled in new Sonar (what a bad color choice...), but EQ line is lighter when it is enabled. Are you sure EQ is really disabled in your case? In what I have checked so far, the result is consistent.
"Warnings" with b79 have uncovered somethings I (and probably many CW users...) did not know: "Style Dial FX" (single knob, "MAX", "SMOOTH", etc.) ProCh modules are in practice "FXChains" with standard CW effects ;) They have a bit "special" format, different from "normal" "FXChains", so my converter is confused. I will try to adjust to convert them as Containers (not sure I will/can reproduce "One Knob" modulation link, but at least they should work with original knob position).
I don't actually have an equalizer on the VOICE track, but I do have one on the 1-VOICE track/bus (FAB C3), so it's strange that a ReaEq appears there. I only understand it because the ProChannell, even though it hasn't been instantiated, never lets itself be completely removed, but even if it has been instantiated once, it remains there. Unlike other tracks where there was never any mention of its use.
I'll test it further here with other projects. I've had projects with various layouts and configurations over the long time I've used Cakewalk.
I'm still "pursuing" the understanding of the continuity of empty takes. I think this is something that comes from some design flag. Since I rarely use "chopped" tracks from separate takes, I always paste them all so that a single track/single reference wav remains, so I think it could be that. Cakewalk leaves references to previous takes that, since they no longer exist, were not "emptied" from the flags.
ReqEQ is (should be) instantiated in one single case: there is enabled EQ in ProChannel. As I have explained before, I can't detect something was enabled and then "de-instantiated". I am not even sure Cakewalk does that in case you disabled the module after enabling. So, I can't distinguish "not important" and "disabled at the moment". I had to make a choice and I have decided NOT put ReaEQ in case it is disabled, even when there is preset (so it was enabled at some moment, as I have mentioned that could happened in template).
You can expand takes in Sonar to check if empty exist in the original project.
So, if you think something is strange, please provide an example in which REAPER shows something different was.
BTW the last uploaded version is b80, from yesterday.
REAEQ - Yes, on the VOZ track a while back, I used some presets I'd created. It's no problem to add ReaEQ, as it comes flat.
I'm migrating several projects, and as soon as I find another one where there are no additional takes and the application is bringing them over, I'll let you know right away.
Sorry, is QuadEq.
Feedback on the migration of over 30 projects yesterday:
1 - EMPTY TAKES - I no longer have the insertion of takes without content.
2 - CAKEWALK MIDI FX - Wouldn't it be possible to reference the existence of MIDI FX on the MIDI tracks, or is this a problem with the information contained in the CWP project itself?
Quote from: miltonsica on August 06, 2025, 02:45:20 PMFeedback on the migration of over 30 projects yesterday:
1 - EMPTY TAKES - I no longer have the insertion of takes without content.
There was no changes in related part of the code, probably these projects had no empty takes...
Quote2 - CAKEWALK MIDI FX - Wouldn't it be possible to reference the existence of MIDI FX on the MIDI tracks, or is this a problem with the information contained in the CWP project itself?
I am not parsing related part of CWP.
For feedback on the over 100 project migrations I've made from Cakewalk to Reaper. Projects of the most varied styles and workflow models.
100% migrated.
1 - QuadEq - I've indeed found that the whole issue seems to be the use of ProChannel features at some point. So, on some tracks, the plugin remains, which I overcame by creating a script that ensures consistency and configures the project migrated to Reaper.
2 - MIDI FX - The fact that MIDI FX aren't recognized can be a major problem for those who use a lot of MIDI FX. In my case, I only used Cakewalk MIDI Transpose on tracks containing an instrument plugin. So, I overcame the problem with a script that inserts JS-MIDI TRANSPOSE NOTES into all tracks with instrument plugins, followed by another script that allows me to update the key preset in all instances where the plugin is inserted.
3 - ALERT AND WARNING MESSAGES - These are perfectly suited to inform you of conversion problems.
4 - INCLUSION IN THE TITLE FIELD OF PROJECT SETTINGS - With this information, I was also able to automate several operations via scripts, such as saving the project and rendering it.
I am still in "FX Chain" conversion. Complete FX Chain conversion, I mean with original "Macro controls" and all possible automations, happened to be not trivial task: REAPER has no build-in macro controls for containers, at least not at the moment (may be my activity will ping devs a bit, who knows).
There is a new (not uploaded!) version which does that. It needs custom JSFX effect(s) which I have developed.
The problem: both must be in sync to avoid mess. I mean if I publish some version of ReaCWP or corresponding JSFX effect which are incompatible, that will produce "incompatible" projects. I mean they will not be compatible with "right" effect. Probably triggering complains in the future :-\
If you have projects with "advanced" FXChains, I mean those with Knobs/Buttons, and you have time and willing to test, I can upload and PM you the link to current combination of ReaCWP + CoControls/CoGain.
I still have not tried to check a single tone, but technically things I slowly working as I want (GUI has knobs/buttons/sliders, positions seems like in original FX Chains, linking to effect parameters looks fine, automations for them look reasonable, parameters names seems like ok, I have just fixed the GUI so automation recording of these macro knobs / sliders in REAPER finally works as desired).
Very good. I don't have many FX chains. My chains are very simple, but I know how to create them in Cakewalk and can help you test your version. If you want to send them to me, I can test them here, as I've already migrated all my projects. Now I'll only produce in Reaper, but there's a shift away from Cakewalk/SONAR. So we can help many users have much better preserved productions. You can leave it in the shared file we have and let me know when you're ready.
Since you have converted everything, not big use for you... but you have asked for and I have occasionally found relevant CWP section... I can start to print Info lines for missing MIDI FXes. I want finish that before uploading new version.
You will not believe how long I have spend to find where Sonar X2 is saving "MIDI FX Bin bypass", till I have understood it is NOT saving it at all (FX bin is simply re-enabled on project reload) ;D
EDIT: the latest "Cakwalk Sonar" Shareware is STILL not saving "MIDI FX Bin bypass" ;)
I have PMed you the "bleeding edge" versions. Hopefully no big regression and at least something works on your system ;)
So, MFXes should be reported and whole functionality of FXChains should work (you can test with standard presets, f.e. "PC Style Dials").
Please don't be disappointer when something is wrong. I have testing the result just peace-wise.
No problem. I'll use the new version separately, keeping the last one that helped me complete the trip.
Can you send me a private message?
I have sent you PM (on this forum) yesterday.
BTW I am not sure in which build I have fixed that, can be you was using some version with problem: Container default "Mix" parameter is 50%. It is 100% when you create it in REAPER and in PMed ReaCWP (which set it explicitly).
Starting testing standard FX Chains presets from X2, I have already spotted 2 bugs in FX Chains... One of them can increase warning counter in the version you have, but that is not worse new build/upload. I have not checked if in current Sonar these bugs are fixed.
But I want mention them, so you don't count that as ReaCWP bugs:
1) some specified for FXChain controls can be NOT shown in Cakewalk. They are perfectly fine, converted and shown in REAPER. Editing the position of such control in Cakewalk (which for user appears as "not used") produce "ghost" control (with bad parameters). ReaCWP will ignore them silently, but till next build generate warning.
2) modulated parameters in REAPER can have "wrong" values (not the same as originally in Cakewalk) or the state of the control can be different from original (f.e. you see the button is "off" in Cakewalk, but it is "On" in REAPER). That can happened with parameters which have "custom range" (not default 0-100%) for the first parameter they modulate. Initially Cakewalk takes actual target parameter value as the value for macro control. The bug is with range, they don't apply "reverse custom range" to this value. F.e. if range is 20-40% and target parameter is 0.4, Cakewalk will NOT set button value to 1 (on), it will set it to 0.4 (shown as off).
In particular case where I have spotted that, the indication was wrong in Cakewalk but correct in CoControls. But that is case dependent, can go in any direction (both show wrong value, any set wrong value, etc.).
In practice, once control is "touched" in Cakewalk, correct value for it is saved and everything should work correctly (in Cakewalk and in REAPER).
I have published 0.0r5 version as new production version and updated installation instructions.
@miltonsica: I suggest you remove manually installed JSFXes (and corresponding lines in reaper-jsfx.ini) and upgrade ReaCWP. Test versions of ReaCWP and effects are NOT compatible with final versions (so it is good I have not published them... making them "compatible" could be challenging, I have understood that after defining ReaPack delivery method).