VLCMovieViewController.h 4.38 KB
Newer Older
1 2 3 4
/*****************************************************************************
 * VLCMovieViewController.h
 * VLC for iOS
 *****************************************************************************
5
 * Copyright (c) 2013-2017 VideoLAN. All rights reserved.
6 7 8 9 10 11 12
 * $Id$
 *
 * Authors: Felix Paul Kühne <fkuehne # videolan.org>
 *          Gleb Pinigin <gpinigin # gmail.com>
 *
 * Refer to the COPYING file of the official project for license.
 *****************************************************************************/
Felix Paul Kühne's avatar
Felix Paul Kühne committed
13

14
#import <MediaPlayer/MediaPlayer.h>
15
#import "VLCFrostedGlasView.h"
16
#import "VLCPlaybackController.h"
Felix Paul Kühne's avatar
Felix Paul Kühne committed
17

18
@class OBSlider;
19
@class VLCService;
20 21
@class VLCStatusLabel;
@class VLCVerticalSwipeGestureRecognizer;
22
@class VLCTimeNavigationTitleView;
23
@class VLCMovieViewControlPanelView;
24
@class VLCMovieViewController;
25

26 27 28 29 30 31
typedef NS_ENUM(NSInteger, VLCMovieJumpState) {
    VLCMovieJumpStateDefault,
    VLCMovieJumpStateForward,
    VLCMovieJumpStateBackward
};

32 33 34 35 36
@protocol VLCMovieViewControllerDelegate
- (void)movieViewControllerDidSelectMinimize:(VLCMovieViewController *)movieViewController;
- (BOOL)movieViewControllerShouldBeDisplayed:(VLCMovieViewController *)movieViewController;
@end

37
@interface VLCMovieViewController : UIViewController <UIActionSheetDelegate, VLCPlaybackControllerDelegate>
Felix Paul Kühne's avatar
Felix Paul Kühne committed
38

Felix Paul Kühne's avatar
Felix Paul Kühne committed
39
@property (nonatomic, strong) IBOutlet UIView *movieView;
40
@property (nonatomic, strong) IBOutlet VLCTimeNavigationTitleView *timeNavigationTitleView;
41
@property (nonatomic, strong) IBOutlet UIButton *sleepTimerButton;
42
@property (nonatomic, strong) IBOutlet VLCStatusLabel *statusLabel;
Felix Paul Kühne's avatar
Felix Paul Kühne committed
43

44
@property (nonatomic, strong) IBOutlet VLCFrostedGlasView *videoFilterView;
45 46 47 48 49 50 51 52 53 54
@property (nonatomic, strong) IBOutlet UILabel *hueLabel;
@property (nonatomic, strong) IBOutlet UISlider *hueSlider;
@property (nonatomic, strong) IBOutlet UILabel *contrastLabel;
@property (nonatomic, strong) IBOutlet UISlider *contrastSlider;
@property (nonatomic, strong) IBOutlet UILabel *brightnessLabel;
@property (nonatomic, strong) IBOutlet UISlider *brightnessSlider;
@property (nonatomic, strong) IBOutlet UILabel *saturationLabel;
@property (nonatomic, strong) IBOutlet UISlider *saturationSlider;
@property (nonatomic, strong) IBOutlet UILabel *gammaLabel;
@property (nonatomic, strong) IBOutlet UISlider *gammaSlider;
55
@property (nonatomic, strong) IBOutlet UIButton *resetVideoFilterButton;
56

57
@property (nonatomic, strong) IBOutlet VLCFrostedGlasView *playbackSpeedView;
58 59 60
@property (nonatomic, strong) IBOutlet UISlider *playbackSpeedSlider;
@property (nonatomic, strong) IBOutlet UILabel *playbackSpeedLabel;
@property (nonatomic, strong) IBOutlet UILabel *playbackSpeedIndicator;
61 62 63 64 65 66
@property (nonatomic, strong) IBOutlet UISlider *audioDelaySlider;
@property (nonatomic, strong) IBOutlet UILabel *audioDelayLabel;
@property (nonatomic, strong) IBOutlet UILabel *audioDelayIndicator;
@property (nonatomic, strong) IBOutlet UISlider *spuDelaySlider;
@property (nonatomic, strong) IBOutlet UILabel *spuDelayLabel;
@property (nonatomic, strong) IBOutlet UILabel *spuDelayIndicator;
67

68
@property (nonatomic, strong) IBOutlet VLCFrostedGlasView *scrubIndicatorView;
69 70 71
@property (nonatomic, strong) IBOutlet UILabel *currentScrubSpeedLabel;
@property (nonatomic, strong) IBOutlet UILabel *scrubHelpLabel;

72 73 74
@property (nonatomic, strong) IBOutlet UILabel *artistNameLabel;
@property (nonatomic, strong) IBOutlet UILabel *albumNameLabel;
@property (nonatomic, strong) IBOutlet UILabel *trackNameLabel;
75
@property (nonatomic, strong) IBOutlet UIImageView *artworkImageView;
76
@property (nonatomic, strong) IBOutlet NSLayoutConstraint *widthConstraint;
77
@property (nonatomic, strong) IBOutlet UIActivityIndicatorView *activityIndicator;
78

79 80
@property (nonatomic, weak) id<VLCMovieViewControllerDelegate> delegate;

81 82
- (instancetype)initWithServices:(VLCService *)services;

83
- (IBAction)closePlayback:(id)sender;
84
- (IBAction)minimizePlayback:(id)sender;
85

86
- (IBAction)positionSliderAction:(id)sender;
87 88 89
- (IBAction)positionSliderTouchDown:(id)sender;
- (IBAction)positionSliderTouchUp:(id)sender;
- (IBAction)positionSliderDrag:(id)sender;
90
- (IBAction)toggleTimeDisplay:(id)sender;
91

92
- (IBAction)sleepTimer:(id)sender;
93

94 95
- (IBAction)videoFilterSliderAction:(id)sender;

96
- (IBAction)playbackSliderAction:(id)sender;
97 98
- (IBAction)videoDimensionAction:(id)sender;

99
- (void)toggleRepeatMode;
Soomin Lee's avatar
Soomin Lee committed
100
- (void)toggleShuffleMode;
101 102 103 104 105
- (void)toggleEqualizer;
- (void)toggleUILock;
- (void)toggleChapterAndTitleSelector;
- (void)hideMenu;

Felix Paul Kühne's avatar
Felix Paul Kühne committed
106
@end