Sold Out
Book Categories |
Acknowledgments ix
Introduction xxi
Introduction to TiVo Applications 1
The TiVo Platform 1
Brief History of Software Development for TiVo 2
Home Media Option and TiVo Desktop 3
TiVo Desktop as a Server 4
HMO Protocol 6
HMO Applications 7
TiVo Server-Hosted Applications 7
Desktop Applications 7
Home Media Engine 8
Software Development Kit 10
How HME Interacts with TiVo 11
What HME Is and Isn't 11
Summary 12
Questions 12
Getting the Tivo Box Ready for HME 13
TiVo Requirements for HME 13
Supported TiVo Boxes 13
Series1 Standalone 14
Series2 Standalone 15
DirectTV Integrated TIVo (DirectTiVo) 15
Series3 16
Active TiVo Service Subscription 17
Checking the Version of TiVo Software 17
Forcing a Connection to the TiVo Service 18
The Household Network 19
Wired vs. Wireless 20
NetworkAdapters 20
Wired Adapters 20
Wireless Adapters 21
Adding TiVo Boxes to a Household Network 21
Setting up Wired Access 21
Setting up Wireless Access 22
TCP/IP Settings 22
Music, Photos, & More 23
Summary 24
Questions 25
Your Development Environment 27
Required Software 27
Java SDK 28
Windows 28
Mac OS X 29
Linux and Unix 29
Text Editor 30
Getting the TiVo HME SDK 30
Exploring the SDK 30
Classpath 31
Recommended Software 32
Ant 32
Log4j 33
JDIC 33
JUnit 33
Subversion 33
Setting up Eclipse 33
Installation 34
Running Eclipse 34
Starting a New Project 35
Running the Sample Applications 39
Starting the Applications 40
Using the Sample Applications in Eclipse 41
The HME Simulator 44
Limitations of the Simulator 46
Summary 46
Questions 46
Your First TiVo HME Application 47
Hello World 47
Creating Hello World 47
Running the Example in the Simulator 50
Simulator in Discovery Mode 50
Simulator in Direct Mode 52
Starting Hello World on the TiVo Box 53
Handling Events 56
Application Lifecycle 57
Startup 57
Running Events 57
Errors 58
Shutdown 58
Summary 58
Questions 59
Displaying Resources 61
Understanding Views 61
Introduction to Views 61
View Hierarchy 61
Drawing Order and Hiding Views 63
Properties of Views 64
Translation 64
Scaling 65
Visibility, Transparency, and Focus 66
Extending Views 67
Code Example 69
Text 72
Creating Text Resources 72
Image Resources 80
Supported Graphic Formats 80
Creating Image Resources 80
Size, Scaling, and Alignment 87
Updating the Weather Application with Graphics 89
Sounds 92
Creating Sound Resources 92
Built-in Sounds 93
Summary 93
Questions 94
Events 95
Types of Events 95
Device Info 96
Init Info 97
Application Info 97
Idle Info 97
Key Event 98
Font Info 98
Event Flow 98
Key Events 98
Optional Keys 100
Events Example 101
Sending Custom Events 105
Ticker Events 106
Focus Events 112
Application Event Handling 114
Summary 115
Questions 116
Going Bananas 117
How to include Bananas in Your Application 117
Reasons to Use Bananas 119
Bananas Sample Application 119
BApplication 122
Other Features of BApplication 124
BScreen 125
New Methods in BScreen 126
Pushing and Popping BScreens 127
Transitions 129
Creating Custom Transitions 130
BView 134
BList 136
Using BLists 138
Styling the List 138
Managing the List 139
BList Example 139
BList Methods 142
Focus 144
BText 146
BButton 147
Using BButtons 147
BKeyboard 149
Using the Keyboard Widget 151
BSkin 154
BDirSkin 155
BZipSkin 155
BResSkin 155
Example 155
Summary 157
Questions 158
Using Bananas Events 159
Event Model 159
New Events in Bananas 161
Using Actions 164
Custom Actions 164
Custom Widgets 166
Weather Applicatton Example 170
Summary 178
Questions 178
Advanced Resources 179
Streaming Resources 179
Streaming Graphics 179
Streaming Audio 180
MPEG Video Backgrounds 181
Creating MPEG Video Backgrounds 182
Using TiVo's MKLOOP FFMPEG Wrapper 182
Using a Web-Based MKLOOP FFMPEG Wrapper 183
Setting MPEG Video Backgrounds 183
MPEG Video Background Caveats 184
Simulator 184
Not Pixel Perfect 187
Root View Method Behavior 190
System Reboots 191
Resource Management 191
Caching and Removing Resources 191
Debugging the Resource Tree 192
Resource Limitations 193
Pixel Buffer and Rendering Engine 194
Best Practices for Predictable Rendering 195
Debugging Software Rendering 196
CPU Resource Concerns 197
Network Resource Constraints 198
Summary 198
Questions 199
Advanced HME Application Lifecycle 201
HME SDK Architecture Impact 201
Overriding the Factory 202
Accessing Files and Resources 205
Changing the Application Name 206
Handling Arguments 207
Common Actions 208
Using Factory for Shared Data 208
Singletons 210
Threads 211
Using Threads 212
Java 4 Threads 212
Java 5 Executor 212
Stopping Threads Correctly on Application Exit 214
Keeping Shared Threads Running between Applications 215
Calling Other Applications 215
Transitioning to Another Application 215
Running the Example 217
Transitioning Back to the Original Application 220
Summary 220
Questions 220
Application Preferences 223
Per-TiVo Preferences 223
Using Per-TiVo Preferences 223
How the Data Is Stored 225
Per-Application Preferences 227
Using Persistent Data 227
Using the Java Preference System 228
Details of Java Preference API 228
Converting BWeatherApp to use Java Preferences 229
Why Use the Preferences API? 230
Other Methods of Saving Preference Data 230
Summary 231
Questions 231
Animation 233
Animation Resources 233
What Can Be Animated 234
Moving Views 235
Animating Transparency 236
Graphics Scaling 237
Visibility 237
Animating Events 238
Chaining Animations 238
Putting It All Together 240
Summary 242
Questions 242
Connecting to External Resources 243
Data from the Web 243
Setting the Resource as a URL 243
Retrieving the Resource and Saving It Locally 244
SOAP, RSS, & XML 246
SOAP 246
RSS 247
XML Data 248
JDBC 248
Other Options 251
Summary 251
Questions 251
Deploying an HME Application 253
Jar from Command Line 253
Creating a Web Start Application 255
Using Web Start with HME 256
OS X Native App 258
Creating an Application Icon 258
Bundler 258
Preparing Your Resources 259
Creating a Jar Bundle 259
Final Touches 261
Packaging 263
Creating the Disk Image 263
Stylizing the Disk Image 264
Compressing and Locking Down the Disk Image 267
Launching a Disk Image Automatically Upon Download 267
Displaying a Software License Agreement 268
Windows Native App 268
Creating an Application Icon 268
Bundler 269
Installer 269
Packaging 270
Selling Your Application 270
Summary 270
Questions 270
Tips and Troubleshooting 271
Logging 272
Common Problems 274
Additional Resources 275
Summary 275
Exercise Answers 277
Index 283
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionBeginning TiVo Programming
X
This Item is in Your InventoryBeginning TiVo Programming
X
You must be logged in to review the productsX
X
X
Add Beginning TiVo Programming, With TiVo Home Media Engine SDK you can build new and exciting applications for broadband-connected Series 2 devices. In this book you will find numerous real-world examples to help you deploy your own applications to TiVo quickly and easily. The authors , Beginning TiVo Programming to the inventory that you are selling on WonderClubX
X
Add Beginning TiVo Programming, With TiVo Home Media Engine SDK you can build new and exciting applications for broadband-connected Series 2 devices. In this book you will find numerous real-world examples to help you deploy your own applications to TiVo quickly and easily. The authors , Beginning TiVo Programming to your collection on WonderClub |