+- (void)nextChapter
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ libvlc_media_player_next_chapter( instance, &ex );
+ catch_exception( &ex );
+}
+
+- (void)previousChapter
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ libvlc_media_player_previous_chapter( instance, &ex );
+ catch_exception( &ex );
+}
+
+- (NSArray *)chaptersForTitleIndex:(NSUInteger)title
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ NSInteger count = libvlc_media_player_get_chapter_count(instance, &ex);
+ if (count <= 0)
+ return [NSArray array];
+
+ libvlc_track_description_t *tracks = libvlc_video_get_chapter_description( instance, title, &ex );
+ NSMutableArray *tempArray = [NSMutableArray array];
+ NSInteger i;
+ for (i = 0; i < count ; i++)
+ {
+ [tempArray addObject:[NSString stringWithUTF8String: tracks->psz_name]];
+ tracks = tracks->p_next;
+ }
+ return [NSArray arrayWithArray: tempArray];
+}
+
+#pragma mark -
+#pragma mark Titles
+
+- (void)setCurrentTitleIndex:(NSUInteger)value
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ libvlc_media_player_set_title( instance, value, &ex );
+ catch_exception( &ex );
+}
+
+- (NSUInteger)currentTitleIndex