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