<commit_before>//
//  GPUImageFilterGallery.h
//  Pods
//
//  Created by <NAME> on 7/24/17.
//
//

#import "GPUImageOutput.h"
#import "GPUImageFilterGroup.h"
#import "ALYCEClientPreviewRenderer.h"
#import "ALYCEVideoStyle.h"
#import "ALYCEColorFilter.h"
#import "ALYCETimedLayoutType.h"
typedef NS_ENUM(NSInteger, AirbrushFilterType) {
    AirbrushFilterTypeNone,
    AirbrushFilterTypeSimple, // Should be used during singing. Not computationally intense.
    AirbrushFilterTypeComplex // Should be used in the pre-singing and review screens. Computationally intense.
};

/**
 * GPUImageFilterGallery is the main interface for ALYCE video rendering in Sing iOS.
 * It manages loading of resources (images, config files etc) needed to render,
 * and renders video frames using C++ OpenGL-based code shared between iOS and Android.
 * GPUImageFilterGallery is implemented as a singleton because we only want to load
 * resources once during the life-time of the app.
 *
 * The filter gallery is a subclass of GPUImageOutput to allow it to be hooked up to
 * GPUImage filter chains. Users of this class should do that to hook up camera input,
 * and camera preview in an OpenGL view.
 *
 * Since the filter gallery is a singleton it's important that it's only hooked up to one
 * filter chain at any given time. However, the Sing! iOS app is designed in such a way that
 * there are never any conflicts about who wants to use the filter gallery in a filter chain.
 *
 * Changing the properties of the filter gallery changes the appearance of the video rendering.
 * The most important properties are videoStyle, colorFilter and airbrushFilterType which will
 * dramatically change the look of the preview. Additionally, some properties are configurable
 * via the renderer instance variable.
 */
@interface GPUImageFilterGallery : GPUImageOutput <GPUImageInput>

+ (GPUImageFilterGallery *)sharedInstance;

/**
 * The number of inputs we are expecting. One by default.
 * Should be set to 2 on the review screen when joining an ALYCE duet seed.
 */
@property (nonatomic) NSUInteger inputCount;
/**
 * The input index of the current user running the app.
 */<commit_msg>Remove documentation about renderer property<commit_after>//
//  GPUImageFilterGallery.h
//  Pods
//
//  Created by <NAME> on 7/24/17.
//
//

#import "GPUImageOutput.h"
#import "GPUImageFilterGroup.h"
#import "ALYCEClientPreviewRenderer.h"
#import "ALYCEVideoStyle.h"
#import "ALYCEColorFilter.h"
#import "ALYCETimedLayoutType.h"
typedef NS_ENUM(NSInteger, AirbrushFilterType) {
    AirbrushFilterTypeNone,
    AirbrushFilterTypeSimple, // Should be used during singing. Not computationally intense.
    AirbrushFilterTypeComplex // Should be used in the pre-singing and review screens. Computationally intense.
};

/**
 * GPUImageFilterGallery is the main interface for ALYCE video rendering in Sing iOS.
 * It manages loading of resources (images, config files etc) needed to render,
 * and renders video frames using C++ OpenGL-based code shared between iOS and Android.
 * GPUImageFilterGallery is implemented as a singleton because we only want to load
 * resources once during the life-time of the app.
 *
 * The filter gallery is a subclass of GPUImageOutput to allow it to be hooked up to
 * GPUImage filter chains. Users of this class should do that to hook up camera input,
 * and camera preview in an OpenGL view.
 *
 * Since the filter gallery is a singleton it's important that it's only hooked up to one
 * filter chain at any given time. However, the Sing! iOS app is designed in such a way that
 * there are never any conflicts about who wants to use the filter gallery in a filter chain.
 *
 * Changing the properties of the filter gallery changes the appearance of the video rendering.
 * The most important properties are videoStyle, colorFilter and airbrushFilterType which will
 * dramatically change the look of the preview.
 */
@interface GPUImageFilterGallery : GPUImageOutput <GPUImageInput>

+ (GPUImageFilterGallery *)sharedInstance;

/**
 * The number of inputs we are expecting. One by default.
 * Should be set to 2 on the review screen when joining an ALYCE duet seed.
 */
@property (nonatomic) NSUInteger inputCount;
/**
 * The input index of the current user running the app.
 */
{'fraction_non_alphanumeric': 0.06566954896003739, 'fraction_numerical': 0.002804393549894835, 'mean_word_length': 4.219512195121951, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7473835', 'n_tokens_mistral': 1166, 'n_tokens_neox': 1121, 'n_words': 550}