Skip to content

add recreation script#16

Open
nickp60 wants to merge 3 commits into
zamaudio:masterfrom
nickp60:recreate
Open

add recreation script#16
nickp60 wants to merge 3 commits into
zamaudio:masterfrom
nickp60:recreate

Conversation

@nickp60

@nickp60 nickp60 commented Aug 22, 2019

Copy link
Copy Markdown

Hi @zamaudio ! Thanks for writing a great tool. I needed to rescue some takes from a protools file, and wrote this python wrapper to make the sox commands to recreate full-length stems for each take for each track. Not sure if you would want to incorporate it, but I thought I'd share it anyways if anyone else would find it useful. Let me know if you have any questions.

@zamaudio

zamaudio commented Aug 23, 2019

Copy link
Copy Markdown
Owner

Hi @nickp60 not sure if you saw this but I already have a sox script as part of the repo:

https://github.com/zamaudio/ptformat/blob/master/ptgenmissing.cc

I think it does the same thing... Mine is for generating stems of empty silence when you don't have any audio but want to test importing a whole session. I'd prefer not to include python code as well as C/C++ in this repo though. Ptformat provides a C++ api to access all the regions, you don't need to write a parser for the output of ptftool. I'd be happy to accept it if it was written in C++ and generated a bash script to run sox, see ptgenmissing.cc as an example.

@nickp60

nickp60 commented Aug 24, 2019

Copy link
Copy Markdown
Author

Hi @zamaudio,
That's totally fine, I get not wanting to mix languages in the code base. If I knew enough C++, I would totally recode it using the API you developed. It looks like it wouldn't be too difficult if I knew C++ better; I don't have a ProTools license so my ability to test would be limited anyway. Feel free to leave the PR open in case one of the other contributors could port it, or just to close it. Again, thanks so much for your work developing this tool!

@zamaudio

Copy link
Copy Markdown
Owner

@nickp60 How do you deal with regions that overlap? This is a diagram of how the sources and regions are laid out, I think your code does not take this into account:


               |<                         AUDIO SOURCE          >|
|______________|-------------------------------------------------|
0    absolute >|<                                    wav length >|
               |--------------|----------------------------------|
               a        into >|                               a+wavlen
                              |<          AUDIO REGION      >|
                              |------------------------------|
                              |<              region length >|
                              |------------------------------|
                             a+i                         a+i+reglen

@nickp60

nickp60 commented Mar 1, 2020

Copy link
Copy Markdown
Author

Hey @zamaudio, you are right, it doesn't, and I'm not sure how to get around that. Is there a way to get the relative starts times?? I ended up manually adjusting the clips after the fact.

@zamaudio

zamaudio commented Mar 1, 2020

Copy link
Copy Markdown
Owner

@nickp60 Yes, if you use the api that I provided in C++, you can get the absolute start time of any region, and you can also get the offset within a source of the start of the region and its length so you know where to pull the audio from. But I still think it may be challenging to figure out which region should be played when regions are overlapping on the same track since I do not have this information from the file. The way I handled it in Ardour import was to just dump the regions in order as they appear in the file and let them stack.

@Otto-Matic

Copy link
Copy Markdown

I have creating a tools in VB.net to open a ptx files (pro tools 10)all the file is decrypted.

@Otto-Matic

Copy link
Copy Markdown

ptw

@zamaudio

zamaudio commented Jan 2, 2021

Copy link
Copy Markdown
Owner

@Otto-Matic did you link to my C++ library to compile your VB.net program, or did you create a derivative work of ptformat in VB.net?

@Otto-Matic

Copy link
Copy Markdown

My program is entirely written without using your C++ library. I discovered your program after I started writing the program. I just used the part":case 0x0030:return std::string("INFO product and version")""ect... I don’t know how to compile a program into C++....Sorry for my english, I'm french...

@zamaudio

zamaudio commented Jan 3, 2021

Copy link
Copy Markdown
Owner

@Otto-Matic As you would know, ptformat is the result of many months of reverse engineering work. I decided to make my project LGPL, so that it remains Free Software, but can still be linked with proprietary programs as is. If you are creating a new project that takes specific cases from deep in the library, I would appreciate if you publish your project under a compatible licence (if you intend on distributing copies).

@Otto-Matic

Copy link
Copy Markdown

I work a lot with Protools10. I compose music in MAO. I wrote this program only for myself in order to better understand the software. I do not intend to distribute this software. But if I can help to advance the search on the files"ptx"...

@Otto-Matic

Copy link
Copy Markdown

https://soundcloud.com/otto-matic-1/tracks
you can listen to my composition here

@zamaudio

zamaudio commented Jan 3, 2021

Copy link
Copy Markdown
Owner

Sure, feel free to help figure out more of the block types if you have time. Thanks for sharing.

@orchetect

orchetect commented Jan 3, 2021

Copy link
Copy Markdown

Would love to see progress on this library. @Otto-Matic if you're not familiar with C++, perhaps you could share your VB source code and someone could parse it and port it to C++ to help build out this library and fill in any gaps with portions you've coded.

(As an aside, I ported this library to Swift as an exercise just for my own use, and it functions identically. But it's probably more ideal to leave it as C++ to ensure it is as cross-platform as possible).

However, this is off-topic for this conversation thread. Would be great to start a new thread to further discuss if you're interested.

@Otto-Matic

Copy link
Copy Markdown

I have no problem sharing my source code, I only do this for pleasure...

@zamaudio

zamaudio commented Jan 4, 2021

Copy link
Copy Markdown
Owner

@orchetect can you please open a new issue(s) for any feature requests? I'm not too sure what people consider progress on this library.

@Otto-Matic

Copy link
Copy Markdown

ptw1
my tools in progress

@Otto-Matic

Copy link
Copy Markdown

ptw-2

@Otto-Matic

Copy link
Copy Markdown

ptw4

@Otto-Matic

Copy link
Copy Markdown

tw3

@zamaudio

Copy link
Copy Markdown
Owner

@Otto-Matic Wow, can you share your repo on github? It looks like you have figured out the meter/tempo map! This is something we could add to ptformat.

@orchetect

orchetect commented Jan 17, 2021

Copy link
Copy Markdown

@Otto-Matic Wow, can you share your repo on github? It looks like you have figured out the meter/tempo map! This is something we could add to ptformat.

That's what I was saying 😆 It's great if @Otto-Matic has made progress with analyzing the data. If they're willing to share their source code we could all collaborate to build this library out.

Remaining C++ would make the library the most cross-platform compliant. But it can be compiled and used as a library with VB, and other languages of course. I can offer to help by adding Swift and SPM support when I have time.

Either way, let's open new issue threads to discuss further and not derail this one.

@Otto-Matic

Copy link
Copy Markdown

how to send the file here in "zip" format?

@Otto-Matic

Copy link
Copy Markdown

ProtoolsViewer.zip

@Otto-Matic

Copy link
Copy Markdown

Only for pt10, 11 & 12....

@felixCheungcheung

Copy link
Copy Markdown

Hi Otto_Matic, is your tool able to parse plugin parameters in .ptx file? I am trying to use your tool, but you only provide two .vb file. When I tried to build form1.vb in visual studio there are lots of error. Can you share your project with us? I am so interested. Thank you so much. @Otto-Matic

@Otto-Matic

Copy link
Copy Markdown

Hi... in zip file complet program in Vb.net....
CadControlv1.zip
for use: open a ptx.file in CadTest.exe, decrypt file and save in a ptw.file. Open the ptw file to view all...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants