Forum: Poser Python Scripting


Subject: MovieMaker Methods

minuitdixhuit opened this issue on Jun 27, 2020 · 5 posts


minuitdixhuit posted Sat, 27 June 2020 at 6:23 AM

Hello, Does anyone know how to use the "MovieMaker Methods"? The manual doesn't say much about it and the examples don't work for me. Furthermore, "SetMovieFormat" refers to "OutputFormats" for explanations and "OutputFormats" refers to "SetMovieFormat" ... I'm trying to write a batch to produce small mp4s to find my way through the many BVH, FBX and Aniblocks animation files I have without knowing what they produce. Sincerely,

Bonjour, Est-ce que quelqu’un sait utiliser les « MovieMaker Methods ». Le manuel ne dit pas grand-chose et les exemples ne fonctionnent pas chez moi. De plus « SetMovieFormat » renvoie à « OutputFormats » pour des explications et « OutputFormats » renvoie à « SetMovieFormat » … Je cherche à écrire un batch pour produire des petits mp4 pour m’y retrouver dans les nombreux fichier BVH, FBX et Aniblocks d’animation que je possède sans savoir qu’est-ce qu’ils donnent. Cordialement,

Hallo, Weiß jemand, wie man die „MovieMaker Methods“ verwendet? Das Handbuch sagt nicht viel und die Beispiele funktionieren bei mir nicht. Außerdem verweist „SetMovieFormat“ auf „OutputFormats“ für Erklärungen und „OutputFormats“ verweist auf „SetMovieFormat“ ... Ich versuche, einen Batch zu schreiben, um kleine mp4s zu produzieren, um mich in den vielen BVH-, FBX- und Aniblocks-Animationsdateien, die ich habe, zurechtzufinden, ohne zu wissen, was sie hervorbringen. Mit freundlichen Grüßen,

Olá, Alguém sabe como utilizar os "MovieMaker Methods"? O manual não diz muito e os exemplos não funcionam para mim. Além disso, "SetMovieFormat" remete para "OutputFormats" para explicações e "OutputFormats" remete para "SetMovieFormat" ... Estou a tentar escrever um batch para produzir pequenos mp4s para poder-me orientar entre os numerosos ficheiros de animação BVH, FBX e Aniblocks que tenho sem saber no que vão resultar. Cordialmente,


adp001 posted Sat, 27 June 2020 at 7:27 AM

sc=poser.Scene()
mm=sc.MovieMaker()
print mm.OutputFormats()

['Image Files', 'Flash', 'MP4 (H.264-AAC)', 'iPhone Movie (480x320)', 'iPhone 4 Movie (960x640)', 'iPhone 5 Movie (1136x640)', 'iPad Movie (1024x768)', 'iPad HD Movie (1280x1024)', 'Android Movie (480x360)', 'Android HD Movie (1280x1024)', 'AVI (MJPEG)', 'AVI (DV)', 'AVI (Uncompressed)', 'WMV/ASF (Medium Quality)', 'WMV/ASF (High Quality)', 'WMV/ASF (uncompressed)']


AVI_MJPEG = mm.OutputFormats().index("AVI (MJPEG)")
mm.SetMovieFormat(AVI_MJPEG)



adp001 posted Sat, 27 June 2020 at 7:54 AM

If you like to set global names, try this:

def globalMoviemakerNames(mm):
    for idx, name in enumerate(mm.OutputFormats()):
        name = re.sub("[ /]+", "_", name)
        name = re.sub("[().-]+", "", name).upper()
        globals()[name] = idx
        print "%d = %s" % (idx, name)

globalMoviemakerNames(poser.Scene().MovieMaker())

prints:

0 = IMAGE_FILES
1 = FLASH
2 = MP4_H264AAC
3 = IPHONE_MOVIE_480X320
4 = IPHONE_4_MOVIE_960X640
5 = IPHONE_5_MOVIE_1136X640
6 = IPAD_MOVIE_1024X768
7 = IPAD_HD_MOVIE_1280X1024
8 = ANDROID_MOVIE_480X360
9 = ANDROID_HD_MOVIE_1280X1024
10 = AVI_MJPEG
11 = AVI_DV
12 = AVI_UNCOMPRESSED
13 = WMV_ASF_MEDIUM_QUALITY
14 = WMV_ASF_HIGH_QUALITY
15 = WMV_ASF_UNCOMPRESSED

print AVI_MJPEG

10




adp001 posted Sat, 27 June 2020 at 8:27 AM

Bildschirmfoto vom 2020-06-27 15-20-12.png

def MovieMakerFileSelection(mm):
    assert isinstance(mm, poser.MovieMakerType)

    choices = mm.OutputFormats()
    with wx.SingleChoiceDialog(None,
                               caption="Moviemaker Filetypes",
                               message="Select one",
                               choices=choices,
                               style=wx.CHOICEDLG_STYLE
                               ) as dlg:
        if dlg.ShowModal() == wx.ID_OK:
            return dlg.GetSelection()
        else:
            return None


format = MovieMakerFileSelection(mm)
if format:
    mm.SetMovieFormat(format)




minuitdixhuit posted Sun, 28 June 2020 at 3:36 AM

Muito obrigado!*