README.md

June 24, 2018 ยท View on GitHub

PRs Welcome

PXSiriWave9: Objective-C

If this project has helped you out, please support us with a star ๐ŸŒŸ

๐Ÿ“– Getting started

  • Please run below command in your app in order to install cocoapods required by the library:

pod init

pod 'PXSiriWave', '~> 0.0.2'

๐Ÿ’ป Usage

PXSiriWave *siriWave = [[PXSiriWave alloc] initWithFrame: CGRectMake(0, 0, 1000, 1000)];
siriWave.frequency = 1.5;
siriWave.amplitude = 0.01;
siriWave.intensity = 0.3;

siriWave.colors = [NSArray arrayWithObjects: [UIColor brownColor], [UIColor blueColor], [UIColor blackColor], nil];


[siriWave configure];

[self.view addSubview: siriWave];

  • Start Animation

Please setup Timer in order to animate waves:

    
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval: 0.10
    target:self
    selector: @selector(targetMethod:)
    userInfo: siriWave
    repeats:YES];

  • Set Timer Target

-(void)targetMethod:(NSTimer *)timer  {
    PXSiriWave *siriWave = [timer userInfo];
    
    [siriWave updateWithLevel: [self _normalizedPowerLevelFromDecibels: .1]];
}

- (CGFloat)_normalizedPowerLevelFromDecibels:(CGFloat)decibels {
    if (decibels < -60.0f || decibels == 0.0f) {
        return 0.0f;
    }
    
    return powf((powf(10.0f, 0.05f * decibels) - powf(10.0f, 0.05f * -60.0f)) * (1.0f / (1.0f - powf(10.0f, 0.05f * -60.0f))), 1.0f / 2.0f);
}

  • Stop Animation
[timer invalidate];
timer = NULL;

๐Ÿ’ก Properties

PropTypeDefaultNote
amplitudenumber0.01Amplitude of Waves
frequencynumber1.5Frequency of Waves
intensitynumber0.3Specify intensity of wave
colorsarray["#2085fc", "#5efca9", "#fd4767"]Specify colors of siri wave 9 colors

โœจ Credits

๐Ÿค” How to contribute

Have an idea? Found a bug? Please raise to ISSUES. Contributions are welcome and are greatly appreciated! Every little bit helps, and credit will always be given.

๐Ÿ’ซ Where is this library used?

If you are using this library in one of your projects, add it in this list below. โœจ

๐Ÿ“œ License

This library is provided under the Apache License.

PXSiriWave @ prscX

๐Ÿ’– Support my projects

I open-source almost everything I can, and I try to reply everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).

However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:

  • Starring and sharing the projects you like ๐Ÿš€

  • If you're feeling especially charitable, please follow prscX on GitHub.

    Buy Me A Coffee

    Thanks! โค๏ธ
    prscX.github.io
    </ Pranav >