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