1 #ifndef SpiderMonkeyScriptWriter_h
2 #define SpiderMonkeyScriptWriter_h
3 
4 #include "IScriptWriter.h"
5 
6 class SpiderMonkeyScriptWriter : public IScriptWriter
7 {
8 private:
9     std::iostream* _stream;
10 
11     void dumpConfCouple(CONFcouple *c);
12 
13 public:
14 	SpiderMonkeyScriptWriter();
15 
16     void addAudioOutput(int trackIndex, ADM_audioEncoder *encoder, EditableAudioTrack* track);
17     void addSegment(uint32_t videoIndex, uint64_t startTime, uint64_t duration);
18     void addVideoFilter(ADM_vf_plugin *plugin, ADM_VideoFilterElement *element);
19     void appendVideo(const char* path);
20     void clearAudioTracks();
21     void clearSegments();
22     void closeVideo();
23     void connectStream(std::iostream& stream);
24     void disconnectStream();
25     void loadVideo(const char* path);
26     void setAudioGain(int trackIndex, ADM_GAINMode gainMode, uint32_t gainValue);
27     void setAudioMixer(int trackIndex, CHANNEL_CONF mixer);
28     void setAudioResample(int trackIndex, uint32_t resample);
29     void setMarkers(uint64_t markerA, uint64_t markerB);
30     void setMuxer(ADM_dynMuxer *muxer);
31     void setPostProcessing(uint32_t type, uint32_t strength, uint32_t swapUv);
32     void setVideoEncoder(ADM_videoEncoder6* videoEncoder);
33     void stretchAudio(int trackIndex, FILMCONV fps);
34     void setAudioDrc(int trackIndex, bool active);
35     void setAudioShift(int trackIndex, bool active,int32_t value);
36     void setAudioPoolLanguage(int trackIndex, const char *lang); // ! from pool, not activeAudioTrack
37     void addExternalAudioTrack(int trackIndex,const char *file);
38 };
39 
40 #endif
41