swftools-common
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Swftools-common] some problems with swftools


From: Matthias Kramm
Subject: Re: [Swftools-common] some problems with swftools
Date: Sun, 9 May 2004 20:10:49 +0200
User-agent: Mutt/1.5.4i

On Sun, May 09, 2004 at 09:13:15AM -0700, Brian C wrote:
> Current Problems:
> 1. To compile swftools on Debian I had to ask on this list and learn 
> that my older gcc requires:
> > LDFLAGS=-lstdc++ ./configure
> > make
> > make install
> That should be on the website somewhere.

I added it to the FAQ.
Are you able to compile any other C++ packages with that gcc/g++?
If yes there might be a way to also handle this in the configure script.

> 2. The resulting OUTPUT.swf has no back button and so if the user clicks 
> too far ahead, they have to scroll through all the slides to get back to 
> the right place. There is probably a way to fix this, but I don't know 
> how to do it using just free software tools.

That's a problem (one of the problems) with the SWF files generated
from Impress- they have this simplistic navigation controls forced on 
them, which you also can't easily replace.
I'd generally save anything from Impress not directly as swf but rather
as pdf, and then convert that to swf with pdf2swf.
Then you can do e.g.
    swfcombine simple_viewer.swf viewport=raw_slides.swf
to get forward/back buttons.

Maybe one day Impress will be able to export to SWF in a form more
suitable for post-processing, so that you can skip the pdf step.
However, at the current moment a lot of junk is added to exported slides,
like supplementary empty frames, key controls, buttons etc. which 
unfortunately get in the way if you want to post-process the SWF with
swftools.

> 3. Similarly, the audio is not timed to the presentation. The user has 
> to guess when to click on the slide to advance it. Matthias suggested a 
> possible fix for this yesterday, but it seemed to depend upon splitting 
> up the audio into multiple files, one file for each slide. That sounds 
> like a lot of work. Is there instead a way to take the output from 
> Impress, SLIDES.swf, and make it into a new .swf that "knows" when to 
> advance each slide because I tell it the appropriate time intervals? 
> Again, using free software tools?

You can use a .sc similar to the one I posted yesterday for this.
You need three things:
1) The slides, slides.swf, generated using pdf2swf
2) The full audio file, audio.wav
3) The number of seconds each slide should stay on the screen.

Then, the .sc file

    # slides_plus_sound.sc
    .flash name="slides_plus_sound.swf" fps=1
        .swf slides "slides.swf"
        .put slides
        .stop slides
        .sound audio "audio.wav"
        .play audio
    
        .frame n+=15 # slide 1 lasts 15 seconds
            .nextframe slides
        .frame n+=10 # slide 2 lasts 10 seconds
            .nextframe slides
        .frame n+=20 # slide 3 lasts 20 seconds
            .nextframe slides
        .frame n+=10 # slide 4 lasts 10 seconds
            .nextframe slides
        # etc.
    .end

should do the trick.

> 4. The .swf file I made yesterday was for a ~45 minute talk and so the 
> resulting file was over 10MB. When loading the file there is no 
> "Loading... Please wait" indicator, the first slide simply appears, and 
> so some users may not realize what's happening and give up before it 
> finishes loading.

There are some default preloaders in the swftools package.

To apply them to a file, file.swf, do e.g. a

    swfcombine PreloaderTemplate.swf loader=tessel_loader.swf movie=file.swf -o 
file_with_preloader.swf

using the files PreLoaderTemplate.swf and tessel_loader.swf from
/usr/local/share/swftools/swfs/ (Actually, you can use almost any
SWF file instead of tessel_loader.swf, as long as it isn't interactive
(i.e., contains too much scripting))

There's also a section about Preloaders at

    http://www.quiss.org/swftools/pdf2swf_usage.html

which goes into more detail on this.

Greetings

Matthias






reply via email to

[Prev in Thread] Current Thread [Next in Thread]