1258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng/*
2258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * Copyright (C) 2011 The Android Open Source Project
3258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng *
4258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * Licensed under the Apache License, Version 2.0 (the "License");
5258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * you may not use this file except in compliance with the License.
6258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * You may obtain a copy of the License at
7258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng *
8258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng *      http://www.apache.org/licenses/LICENSE-2.0
9258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng *
10258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * Unless required by applicable law or agreed to in writing, software
11258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * distributed under the License is distributed on an "AS IS" BASIS,
12258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * See the License for the specific language governing permissions and
14258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * limitations under the License.
15258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng */
16258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
17258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengpackage com.android.videoeditor.service;
18258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
19258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport android.graphics.Bitmap;
20258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport android.media.videoeditor.AudioTrack;
21258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport android.media.videoeditor.MediaItem;
22258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport android.net.Uri;
23258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport android.os.Bundle;
24258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
25258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengimport java.util.List;
26258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
27258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng/**
28258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * Interface for API service listener. This interface declares various callbacks that
29258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * clients might be interested in to handle responses or state change from various API
30258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * service actions. Clients should extend this interface and override interested callbacks.
31258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng * See {@link ProjectsCarouselView} for example usage.
32258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng */
33258481be4734642b144c37f6b6572d8c85263f37Shih-chia Chengpublic class ApiServiceListener {
34258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
35258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The list of projects was loaded
36258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
37258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projects The array of projects
38258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception
39258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
40258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onProjectsLoaded(List<VideoEditorProject> projects, Exception exception) {}
41258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
42258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
43258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The project edit state
44258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
45258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
46258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectEdited true if the project is edited
47258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
48258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onProjectEditState(String projectPath, boolean projectEdited) {}
49258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
50258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
51258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new project was created
52258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
53258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
54258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param project The VideoEditor project
55258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItems The list of media items
56258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTracks The list of audio tracks
57258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception that occurred
58258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
59258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorCreated(String projectPath, VideoEditorProject project,
60258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            List<MediaItem> mediaItems, List<AudioTrack> audioTracks, Exception exception) {}
61258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
62258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
63258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The project was loaded
64258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
65258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
66258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param project The VideoEditor project
67258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItems The list of media items
68258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTracks The list of audio tracks
69258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception that occurred
70258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
71258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorLoaded(String projectPath, VideoEditorProject project,
72258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            List<MediaItem> mediaItems, List<AudioTrack> audioTracks, Exception exception) {}
73258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
74258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
75258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The aspect ratio was set
76258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
77258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
78258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param aspectRatio The aspect ratio
79258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception that occurred
80258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
81258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorAspectRatioSet(String projectPath, int aspectRatio, Exception exception) {}
82258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
83258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
84258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The specified theme was applied
85258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
86258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
87258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param theme The theme
88258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception that occurred
89258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
90258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorThemeApplied(String projectPath, String theme, Exception exception) {}
91258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
92258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
93258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Generate preview progress status
94258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
95258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
96258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param className The class name
97258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param itemId The storyboard item id
98258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param action The action taken on the item
99258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param progress The export progress (0, 100)
100258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
101258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorGeneratePreviewProgress(String projectPath, String className,
102258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String itemId, int action, int progress) {}
103258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
104258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
105258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Export progress status
106258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
107258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
108258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param filename The name of the file to export
109258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param progress The export progress (0, 100)
110258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
111258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorExportProgress(String projectPath, String filename, int progress) {}
112258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
113258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
114258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Export completed callback
115258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
116258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
117258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param filename The name of the file to export
118258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception null if no exception has occurred (export succeeded)
119378d3c8985dfc1fb3fe99d0fa2b1c1ac22e7c7c9Chih-Chung Chang     * @param cancelled if the export is cancelled by the user
120258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
121258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorExportComplete(String projectPath, String filename,
122378d3c8985dfc1fb3fe99d0fa2b1c1ac22e7c7c9Chih-Chung Chang            Exception exception, boolean cancelled) {}
123258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
124258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
125258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Export canceled callback
126258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
127258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
128258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param filename The name of the file to export
129258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
130258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorExportCanceled(String projectPath, String filename) {}
131258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
132258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
133258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The VideoEditor state was saved
134258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
135258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
136258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred (if any)
137258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
138258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorSaved(String projectPath, Exception exception) {}
139258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
140258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
141258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The VideoEditor stated was released
142258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
143258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
144258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred (if any)
145258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
146258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorReleased(String projectPath, Exception exception) {}
147258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
148258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
149258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The VideoEditor stated was deleted.
150258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
151258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
152258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred (if any)
153258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
154258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onVideoEditorDeleted(String projectPath, Exception exception) {}
155258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
156258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
157258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new media item was added
158258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
159258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
160258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
161258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItem The newly added media item (null if an error occurred)
162258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param afterMediaId The media item id preceding the media item
163258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemClass The media item class
164258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param aspectRatio The aspectRatio
165258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
166258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
167258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemAdded(String projectPath, String mediaItemId,
168258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            MovieMediaItem mediaItem, String afterMediaId, Class<?> mediaItemClass,
169258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            Integer aspectRatio, Exception exception) {}
170258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
171258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
172258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Media load complete
173258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
174258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
175258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaUri The media URI
176258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mimeType The mime type
177258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param filename The filename of the downloaded media item
178258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
179258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
180258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaLoaded(String projectPath, Uri mediaUri, String mimeType,
181258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String filename, Exception exception) {}
182258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
183258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
184258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item was moved
185258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
186258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
187258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item which moved
188258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param afterMediaItemId The id of the relative media item id
189258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
190258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
191258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemMoved(String projectPath, String mediaItemId,
192258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String afterMediaItemId, Exception exception) {}
193258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
194258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
195258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item was removed
196258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
197258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
198258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item which was removed
199258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param transition The transition inserted at the removal position
200258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *          if a theme is in use.
201258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
202258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
203258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemRemoved(String projectPath, String mediaItemId,
204258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            MovieTransition transition, Exception exception) {}
205258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
206258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
207258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item rendering mode was set
208258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
209258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
210258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
211258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param renderingMode The rendering mode
212258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
213258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
214258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemRenderingModeSet(String projectPath, String mediaItemId,
215258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            int renderingMode, Exception exception) {}
216258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
217258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
218258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item duration was set
219258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
220258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
221258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
222258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param durationMs The duration of the image media item
223258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
224258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
225258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemDurationSet(String projectPath, String mediaItemId,
226258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            long durationMs, Exception exception) {}
227258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
228258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
229258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item boundaries was set
230258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
231258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
232258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
233258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param beginBoundaryMs The begin boundary
234258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param endBoundaryMs The end boundary
235258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
236258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
237258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemBoundariesSet(String projectPath, String mediaItemId,
238258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            long beginBoundaryMs, long endBoundaryMs, Exception exception) {}
239258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
240258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
241258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A media item thumbnail was extracted
242258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
243258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
244258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
245258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param thumbnail The bitmap thumbnail
246f6b29b560e55392015caebeffbe76f8a1d1ddeb4Chih-Chung Chang     * @param index The index of the thumbnail
247f6b29b560e55392015caebeffbe76f8a1d1ddeb4Chih-Chung Chang     * @param token The token given in the original request
248258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
249258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
250258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @return true if the bitmap is used
251258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
252258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public boolean onMediaItemThumbnail(String projectPath, String mediaItemId,
253f6b29b560e55392015caebeffbe76f8a1d1ddeb4Chih-Chung Chang            Bitmap thumbnail, int index, int token, Exception exception) {
254258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng        return false;
255258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    }
256258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
257258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
258258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Extract media item audio waveform progress callback
259258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
260258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
261258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the media item
262258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param progress The progress (0, 100)
263258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
264258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemExtractAudioWaveformProgress(String projectPath,
265258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, int progress) {}
266258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
267258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
268258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The audio waveform of the specified media item completed
269258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
270258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
271258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The id of the MediaItem
272258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
273258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
274258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onMediaItemExtractAudioWaveformComplete(String projectPath,
275258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Exception exception) {}
276258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
277258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
278258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new transition was inserted
279258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
280258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
281258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param transition The newly added transition
282258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param afterMediaId After the media id
283258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
284258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
285258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onTransitionInserted(String projectPath, MovieTransition transition,
286258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String afterMediaId, Exception exception) {}
287258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
288258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
289258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A transition was removed
290258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
291258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
292258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param transitionId The id of the transition which was removed
293258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
294258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
295258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onTransitionRemoved(String projectPath, String transitionId,
296258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            Exception exception) {}
297258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
298258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
299258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A transition duration was changed
300258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
301258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
302258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param transitionId The id of the transition which was modified
303258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param durationMs The duration in milliseconds
304258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
305258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
306258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onTransitionDurationSet(String projectPath, String transitionId,
307258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            long durationMs, Exception exception) {}
308258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
309258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
310258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Two transition thumbnails were extracted
311258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
312258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
313258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param transitionId The id of the transition
314258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param thumbnails The thumbnails array
315258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
316258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
317258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @return true if the bitmap is used
318258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
319258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public boolean onTransitionThumbnails(String projectPath, String transitionId,
320258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            Bitmap[] thumbnails, Exception exception) {
321258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng        return false;
322258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    }
323258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
324258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
325258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new overlay was added
326258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
327258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
328258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param overlay The newly added overlay
329258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
330258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
331258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
332258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onOverlayAdded(String projectPath, MovieOverlay overlay,
333258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Exception exception) {}
334258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
335258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
336258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A overlay was removed
337258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
338258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
339258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param overlayId The id of the overlay
340258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
341258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
342258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
343258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onOverlayRemoved(String projectPath, String overlayId,
344258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Exception exception) {}
345258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
346258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
347258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The overlay start time was set
348258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
349258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
350258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param overlayId The id of the overlay
351258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
352258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param startTimeMs The start time in milliseconds
353258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
354258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
355258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onOverlayStartTimeSet(String projectPath, String overlayId,
356258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, long startTimeMs, Exception exception) {}
357258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
358258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
359258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The overlay duration was set
360258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
361258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
362258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param overlayId The id of the overlay
363258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
364258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param durationMs The duration in milliseconds
365258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
366258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
367258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onOverlayDurationSet(String projectPath, String overlayId,
368258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, long durationMs, Exception exception) {}
369258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
370258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
371258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The overlay user attributes were set
372258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
373258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
374258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param overlayId The id of the overlay
375258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
376258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param userAttributes The user attributes
377258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
378258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
379258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onOverlayUserAttributesSet(String projectPath, String overlayId,
380258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Bundle userAttributes, Exception exception) {}
381258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
382258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
383258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new effect was added
384258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
385258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
386258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param effect The newly added effect
387258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
388258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
389258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
390258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onEffectAdded(String projectPath, MovieEffect effect,
391258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Exception exception) {}
392258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
393258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
394258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * An effect was removed
395258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
396258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
397258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param effectId The id of the effect which was removed
398258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param mediaItemId The media item id
399258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
400258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
401258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onEffectRemoved(String projectPath, String effectId,
402258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String mediaItemId, Exception exception) {}
403258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
404258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
405258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * A new audio track was added
406258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
407258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
408258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTrack The newly added audioTrack
409258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
410258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
411258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onAudioTrackAdded(String projectPath, MovieAudioTrack audioTrack,
412258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            Exception exception) {}
413258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
414258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
415258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * An audio track was removed
416258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
417258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
418258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTrackId The id of the audio track
419258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
420258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
421258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onAudioTrackRemoved(String projectPath, String audioTrackId,
422258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            Exception exception) {}
423258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
424258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
425258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * An audio track boundaries was set
426258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
427258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
428258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTrackId The id of the audio track
429258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param beginBoundaryMs The begin boundary
430258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param endBoundaryMs The end boundary
431258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
432258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
433258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onAudioTrackBoundariesSet(String projectPath, String audioTrackId,
434258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            long beginBoundaryMs, long endBoundaryMs, Exception exception) {}
435258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
436258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
437258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * Extract audio waveform progress callback
438258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
439258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
440258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTrackId The id of the audio track
441258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param progress The progress (0, 100)
442258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
443258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onAudioTrackExtractAudioWaveformProgress(String projectPath,
444258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String audioTrackId, int progress) {}
445258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng
446258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    /**
447258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * The audio track audio waveform of the specified audio track completed
448258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     *
449258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param projectPath The project path
450258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param audioTrackId The id of the audio track
451258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     * @param exception The exception which occurred
452258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng     */
453258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng    public void onAudioTrackExtractAudioWaveformComplete(String projectPath,
454258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng            String audioTrackId, Exception exception) {}
455258481be4734642b144c37f6b6572d8c85263f37Shih-chia Cheng}
456