Hi Pete,
thanks for the suggestion, but I would prefer to have it work with the
dropData callback. It just makes life a hell of a lot easier when working
with both AE and Nuke to be able to copy in one application and paste in
another.

Anyway, I got it all to work but only using the script editor. There's
something I'm doing wrong when adding things to my menu.py, I guess.
If you try to run the attached .py file in the script editor with the
following line added right at the end:
nukescripts.addDropDataCallback( AE_Drop )
Everything will work great.

What I did is:

   1. place the AE_to_Nuke file in my .nuke folder
   2. Added 'import AE_to_Nuke' at the top of my menu.py
   3. Added 'nukescripts.addDropDataCallback( AE_Drop )' at some point
   below that above line in my menu.py.

Restarted Nuke.
Now instead of getting my Transform node like I do if I run my script from
the script editor, I get a syntax error 0.
I'm pulling hair here.
Something about how I'm implementing the callback, rather than the script,
I guess.
Can anybody make any sense of this?

Ron Ganbar
email: [email protected]
tel: +44 (0)7968 007 309 [UK]
     +972 (0)54 255 9765 [Israel]
url: http://ronganbar.wordpress.com/



On 7 July 2012 04:10, Pete O'Connell <[email protected]> wrote:

> Hi Ron I think by using the clipboard and drop data you are making things
> more difficult than they need be. Why not just save your AE data as an AE
> transform data txt file then have a modified version of your script create
> a .nk file containing the Transform node (by parsing the AE file). This is
> much easier for debugging and you can drop it in Nuke without any explicit
> code.
>
> Pete
>
>
> On Fri, Jul 6, 2012 at 12:35 AM, Ron Ganbar <[email protected]> wrote:
>
>> So, I finished this script again.
>> This time instead of using RegEx I used line parsing as suggested by
>> several of you and presented by Pete.
>>
>> But again, I have the same problem.
>> When reading the text from a file - no problem what so ever. The script
>> works.
>> When reading the text from the clipboard the raw text looks completely
>> different, and I can't figure it out. I have \\n and \\t everywhere,
>> instead of \n and \t like I do when I read from file.
>>
>> Can anyone suggest how to approach fixing this? I can't figure out how to
>> get rid of \\t, for example. You can't go string.replace('\\', '\'), for
>> example.
>>
>>  I'm attaching two versions of the script (one that reads from a txt file
>> and another that reads from the clipboard) and the source After Effects
>> text.
>>
>> Thanks in advance!
>>
>>
>> Ron Ganbar
>> email: [email protected]
>> tel: +44 (0)7968 007 309 [UK]
>>      +972 (0)54 255 9765 [Israel]
>> url: http://ronganbar.wordpress.com/
>>
>>
>>
>> On 4 July 2012 13:35, Ron Ganbar <[email protected]> wrote:
>>
>>> I ended up using readlines()
>>> Does the trick.
>>>
>>>
>>>
>>> Ron Ganbar
>>> email: [email protected]
>>> tel: +44 (0)7968 007 309 [UK]
>>>      +972 (0)54 255 9765 [Israel]
>>> url: http://ronganbar.wordpress.com/
>>>
>>>
>>>
>>> On 4 July 2012 12:55, John RA Benson <[email protected]>wrote:
>>>
>>>> **
>>>> just for fun ;)
>>>>
>>>> import re
>>>> re.split('[\r\n]', txtToSplit)
>>>>
>>>> jrab
>>>>
>>>>
>>>> Ron Ganbar wrote:
>>>>
>>>> Hi guys,
>>>> thanks again for all the help in this.
>>>> I'm finally persuaded to let RegEx go.
>>>>
>>>> Pete, in your script you are splitting the text with "\r" however, if I
>>>> remember correctly on a Mac it won't be "\r" it will be "\n". Is there a
>>>> way to include both? Is there some code that covers both cases?
>>>>
>>>>
>>>> Thanks
>>>> Ron Ganbar
>>>> email: [email protected]
>>>> tel: +44 (0)7968 007 309 [UK]
>>>>      +972 (0)54 255 9765 [Israel]
>>>> url: http://ronganbar.wordpress.com/
>>>>
>>>>
>>>>
>>>> On 27 June 2012 02:46, Nathan Rusch <[email protected]> wrote:
>>>>
>>>>>   Alright, here�s a quick and slightly dirty take on using regexps
>>>>> that works for pasted text data. I didn�t take the time to implement 
>>>>> proper
>>>>> value rescaling and translation into Nuke image coordinates; all keys are
>>>>> just set straight from the raw values from AE.
>>>>>
>>>>> Again, I would still advocate for a regexp-free approach to this, but
>>>>> hope it helps somehow.
>>>>>
>>>>> -Nathan
>>>>>
>>>>>
>>>>>  *From:* Nathan Rusch <[email protected]>
>>>>> *Sent:* Monday, June 25, 2012 11:27 AM
>>>>>  *To:* Nuke Python discussion <[email protected]>
>>>>> *Subject:* Re: [Nuke-python] AE Transform to Nuke
>>>>>
>>>>>    Without having taken a really close look at the structure of your
>>>>> function yet, here are a couple immediate things to try:
>>>>>
>>>>> 1) Split your data into lines before you process it.
>>>>> 2) Recompiling your regex objects inside a loop is pretty inefficient.
>>>>> The point of compiling regexps is so they can be reused multiple times, 
>>>>> and
>>>>> you typically just want to compile them all one time each at highest level
>>>>> that makes sense, which in this case would probably be the module level.
>>>>> 3) Rather than explicitly matching tab characters, just use the \s
>>>>> token, which will match any kind of whitespace. This goes hand in hand 
>>>>> with
>>>>> initially splitting your data into lines, since it will prevent your
>>>>> regexps from accidentally matching across multiple lines.
>>>>>
>>>>> I�ll take a closer look after work.
>>>>>
>>>>> -Nathan
>>>>>
>>>>>
>>>>>  *From:* Ron Ganbar <[email protected]>
>>>>> *Sent:* Monday, June 25, 2012 11:15 AM
>>>>> *To:* Nuke Python discussion <[email protected]>
>>>>> *Subject:* Re: [Nuke-python] AE Transform to Nuke
>>>>>
>>>>>  Hi Wouter,
>>>>> I tried this kinda thing for the regex strings:
>>>>> regex =
>>>>> re.compile('\\t+([-+]?\d+\.?\d*)\\t+([-+]?\d+\.?\d*)\\t+([-+]?\d+\.?\d*)\\t+([-+]?\d+\.?\d*)\\t+')
>>>>>
>>>>> Didn't help (though testing the string in pythonregex.com does show
>>>>> results).
>>>>>
>>>>> If I did it wrong I'd love to know. Any other ideas welcome too.
>>>>>
>>>>> Thanks!
>>>>> Ron Ganbar
>>>>> email: [email protected]
>>>>> tel: +44 (0)7968 007 309 [UK]
>>>>>      +972 (0)54 255 9765 [Israel]
>>>>> url: http://ronganbar.wordpress.com/
>>>>>
>>>>>
>>>>>
>>>>> On 25 June 2012 21:05, Ron Ganbar <[email protected]> wrote:
>>>>>
>>>>>> Hi Wouter,
>>>>>> thanks. That's something I haven't tried.
>>>>>> I'll have a look.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Ron Ganbar
>>>>>> email: [email protected]
>>>>>> tel: +44 (0)7968 007 309 [UK]
>>>>>>      +972 (0)54 255 9765 [Israel]
>>>>>> url: http://ronganbar.wordpress.com/
>>>>>>
>>>>>>
>>>>>>
>>>>>>   On 25 June 2012 20:15, Wouter Klouwen <[email protected]>wrote:
>>>>>>
>>>>>>> On 19/06/2012 08:28, Ron Ganbar wrote:
>>>>>>>
>>>>>>>> The weird thing is that the code I have works perfectly when
>>>>>>>> reading the
>>>>>>>> text from a text file, just not when reading from paste. Really
>>>>>>>> annoying
>>>>>>>> to start and write it again from scratch. Plus, I would love to have
>>>>>>>> learned from this script something useful about re.
>>>>>>>> Any chance you can have another look?
>>>>>>>>
>>>>>>>
>>>>>>>  Your regexps look very strict. I would suggest to be more
>>>>>>> permissive in the amount and kind of whitespacing you allow between 
>>>>>>> numbers.
>>>>>>> I would suggest:
>>>>>>>
>>>>>>> [:blank:]+  instead of \t
>>>>>>>
>>>>>>> Or if the Python regexps don't support he POSIX character classes,
>>>>>>> just [ \t]+.
>>>>>>>
>>>>>>> It's entirely possible that you're getting spaces in the pasted data
>>>>>>> instead of the tabs read from file.
>>>>>>>
>>>>>>> HTH,
>>>>>>>    Wouter
>>>>>>>
>>>>>>> --
>>>>>>> Wouter Klouwen, Software Engineer
>>>>>>> The Foundry, 6th Floor, Comms Building, 48 Leicester Sq, London WC2H
>>>>>>> LT
>>>>>>> Tel: +442079686828 � Fax: +4420 79308906 � thefoundry.co.uk
>>>>>>> The Foundry Visionmongers Ltd � Reg.d in England and Wales No:
>>>>>>> 4642027
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Nuke-python mailing list
>>>>>>> [email protected],
>>>>>>> http://forums.thefoundry.co.uk/
>>>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>  ------------------------------
>>>>> _______________________________________________
>>>>> Nuke-python mailing list
>>>>> [email protected], http://forums.thefoundry.co.uk/
>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>>
>>>>>  ------------------------------
>>>>> _______________________________________________
>>>>> Nuke-python mailing list
>>>>> [email protected], http://forums.thefoundry.co.uk/
>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>>
>>>>> _______________________________________________
>>>>> Nuke-python mailing list
>>>>> [email protected], http://forums.thefoundry.co.uk/
>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>>
>>>>>
>>>>  ------------------------------
>>>>
>>>> _______________________________________________
>>>> Nuke-python mailing [email protected], 
>>>> http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>
>>>>
>>>> _______________________________________________
>>>> Nuke-python mailing list
>>>> [email protected], http://forums.thefoundry.co.uk/
>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> Nuke-python mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>
>>
>
>
> --
> -
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
Adobe After Effects 8.0 Keyframe Data

        Units Per Second        25
        Source Width    1280
        Source Height   720
        Source Pixel Aspect Ratio       1
        Comp Pixel Aspect Ratio 1

Transform       Position
        Frame   X pixels        Y pixels        Z pixels        
        0       640     360     0       
        5       657     336     0       
        10      555     228     0       
        15      660     438     0       

Transform       Scale
        Frame   X percent       Y percent       Z percent       
        0       100     100     100     
        5       84      84      101.205 
        10      94      94      98.9474 
        15      80      80      97.561  

Transform       Rotation
        Frame   degrees 
        0       0       
        5       8       
        10      -14     
        15      5       


End of Keyframe Data

Attachment: AE_to_Nuke.py
Description: Binary data

_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to