Skip to content
This repository has been archived by the owner on Jun 25, 2023. It is now read-only.

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 62692cc
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 20 23:01:58 2023 +0200

    Bump version

commit 6b7ab1e
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 20 22:58:58 2023 +0200

    Update about texts

commit 0532cc5
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun May 14 17:18:41 2023 +0200

    Update README.md

    Update docs: Project setup

    Update README.md

    Update README.md

commit e796f0b
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun May 14 13:06:01 2023 +0200

    Replace ellipsis with gear icon

commit 20e3175
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun May 14 13:00:48 2023 +0200

    Time format: Replace slash with dot

commit a2ec846
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 21:07:38 2023 +0200

    Bump version number

commit 2fc1a70
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 21:05:10 2023 +0200

    Add spacing to purchase sheet for iPad

commit dba3a14
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 21:01:57 2023 +0200

    Update StoreKit synced config

commit 65b5c31
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 21:00:44 2023 +0200

    Fix popover source view missing

commit 98e6593
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 20:10:20 2023 +0200

    Update texts in onboarding, about and purchase

commit 880d76d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 19:37:09 2023 +0200

    Tweak wordings in About

commit 7532279
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 19:05:47 2023 +0200

    Update date in license

commit 9391a4d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 19:03:34 2023 +0200

    Change default time format to frame number

commit dad1b6f
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:56:26 2023 +0200

    Add workaround for qos priority inversion

commit dd4a1fa
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:43:44 2023 +0200

    Mark AVFoundation import as `preconcurrency`

commit 87bc141
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:38:25 2023 +0200

    Move `Utility` package folder

commit e589ba7
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:37:08 2023 +0200

    Fix dynamic type warning

commit deaa709
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:36:06 2023 +0200

    Update deprecation warning

commit 42424c4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:35:55 2023 +0200

    Update to recommended project settings

commit 8266621
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:33:58 2023 +0200

    Reduce deployment target to iOS 15

commit 4f280c0
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:33:41 2023 +0200

    Add location parsing for iOS 15

commit ff5ab94
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat May 13 18:14:45 2023 +0200

    Add deprecation warning to `SampleTimeIndexer` and add simple facade

commit d441a3d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Dec 18 18:23:18 2022 +0100

    Remove project workspace

    commit 7b8dbbb47544602a595aff19b6ed6448e0c9ecf6
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Dec 18 18:21:55 2022 +0100

        Remove project workspace

commit 825bf85
Merge: 3ac6901 78cd24b
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Dec 18 18:05:56 2022 +0100

    Merge branch 'ios16-base' into develop

commit 78cd24b
Merge: 6600cc8 3ac6901
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Dec 18 17:59:42 2022 +0100

    Merge branch 'develop' into ios16-base

    # Conflicts:
    #	Frame Grabber.xcodeproj/project.pbxproj
    #	Frame Grabber/Application/Coordinator.swift
    #	Frame Grabber/Scenes/About/PurchaseButtonsView.swift
    #	Frame Grabber/Scenes/Editor/EditorSpeedMenu.swift

commit 3ac6901
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 25 15:08:38 2022 +0200

    About tweaks

commit 24a14c4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 25 11:36:32 2022 +0200

    Update style

commit 1070dba
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 25 10:54:26 2022 +0200

    Fix crash in sheet utility

commit 905ee00
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 25 00:36:39 2022 +0200

    Implement purchased state

commit a124b89
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 23:24:09 2022 +0200

    Update button style

commit dd79a54
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 23:14:06 2022 +0200

    Update localizations

commit 8673fca
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 22:06:32 2022 +0200

    Add global accent color build setting

commit 6cb7d4b
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 20:53:28 2022 +0200

    Update purchase design

commit 1b6140e
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 19:50:32 2022 +0200

    Extract sheet handling into utility

commit 46580b1
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sat Sep 24 18:58:44 2022 +0200

    Fix presentation warning

commit 82779eb
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 23:00:07 2022 +0200

    Add multiple IAP in testing StoreKit config

commit c7bca46
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 22:12:40 2022 +0200

    Decouple Purchase from About

commit 75702de
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 21:49:20 2022 +0200

    Present as compressed sheet

commit 9f179f5
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 17:42:42 2022 +0200

    Improve confetti

commit 1f3c4dd
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 16:39:28 2022 +0200

    Update purchase screen

commit ee00cea
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 16:37:33 2022 +0200

    Bump version number

commit 0b189c7
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 16:34:11 2022 +0200

    Enable `SWIFT_EMIT_LOC_STRINGS` build setting

commit 925b029
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 09:02:07 2022 +0200

    Add action button configuration and color

commit baf4671
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 08:51:32 2022 +0200

    Remove unused availability checks

commit 38f876c
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 08:47:32 2022 +0200

    Raise min version to iOS 15

commit 471a477
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Sep 20 00:53:52 2022 +0200

    Update donation styling

commit 43c7145
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 23:28:39 2022 +0200

    Update donation texts

commit e9acedc
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 22:57:25 2022 +0200

    Update about texts and image

commit 1471518
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 22:44:37 2022 +0200

    Move version number below first section

commit 3d79035
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 20:27:53 2022 +0200

    Update store URLs for Mac

commit 38b70f4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 04:56:57 2022 +0200

    Remove comment

commit df9c035
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 20:23:12 2022 +0200

    Enable mac (designed for iPad)

commit 674745d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 20:13:20 2022 +0200

    Fix crash on macOS

commit 1084f0f
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 20:13:08 2022 +0200

    Add synced StoreKit configuration

commit 6600cc8
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 18:57:48 2022 +0200

    Add `@MainActor` to some delegates

commit 7e0f4ee
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 18:56:40 2022 +0200

    Build config: raise concurrency checking to `targeted`

    We should strive to raise the checking to `complete`. Enable it intermittently to check ongoing warnings and errors.

    See also: https://www.donnywals.com/enabling-concurrency-warnings-in-xcode-14/

commit 5caa93d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 17:53:28 2022 +0200

    Fix deprecated SF symbol

commit c910b7b
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 17:51:50 2022 +0200

    Update package tooling versions

commit 00da2c8
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 17:32:10 2022 +0200

    Adpot Swift 5.7 language features

commit 5c10e92
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Sep 19 16:38:08 2022 +0200

    Remove “increase build number” build script

commit fda0ba0
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 13:54:55 2022 +0200

    Use new Swift regex in location parser

commit 93bd54c
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 10:59:40 2022 +0200

    Remove nested folders

commit 45c7c87
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 10:24:28 2022 +0200

    Migrate to `AVAsyncProperty` for metadata

commit f8eff54
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 05:05:07 2022 +0200

    Fix SF Symbol deprecations

commit 8fbed03
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 04:56:57 2022 +0200

    Remove comment

commit 34393f0
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 04:56:42 2022 +0200

    Remove `#if available` for iOS 15

commit e4fab64
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Sep 18 04:47:07 2022 +0200

    Raise deployment target to iOS 16

commit 7e21d80
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Jun 13 07:53:00 2022 +0200

    Update editor toolbar style

    commit 6c6e5490a4dc4b5789df1936f4d51877fb2eaaf6
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 13 07:52:20 2022 +0200

        Reduce button spacing on iPad

    commit 05cf56a048a874afd2527359830611cd763d6fb4
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 13 07:27:35 2022 +0200

        Reduce bar shadow

    commit 632bfe0f3c5e59a92e36f839fbb4929d0dc948f6
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 23:37:47 2022 +0200

        Opaque bars in editor

    commit da40a25c6918e1842e55447654721513113bbfee
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 23:21:23 2022 +0200

        Adjust editor toolbar spacings

    commit a52a907c1ade5933126f375441f28fa717031a4b
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 23:12:03 2022 +0200

        Adjust spacings in editor toolbar

    commit 89da99d31224e87e6d2bfe736c34fcdc1d5a00fd
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 22:56:41 2022 +0200

        Add background for share button

commit e3435e0
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 22:53:03 2022 +0200

    Fix library leftovers

commit 06af068
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 22:27:55 2022 +0200

    Add icon to empty view

    commit 4e9849cacfe0be8c4657cdc5c75781ec0a6ac461
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 20:12:32 2022 +0200

        Add icon for empty library

    commit d3dff704b2284d90130bdab0b8eceec4bb323aa7
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 20:12:15 2022 +0200

        Fix empty label possibly overflowing view

    commit 0510b78b841438439444638f3802b926eb1350a4
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Sun Jun 12 20:01:53 2022 +0200

        Renamings

commit aff83d4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 19:02:18 2022 +0200

    Split add button into button bar

commit c51c85a
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 18:45:30 2022 +0200

    Refactor button styles

commit 99e9d48
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 17:23:27 2022 +0200

    Use hierarchical chevron icon for title button

commit ea878f6
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Jun 12 12:40:48 2022 +0200

    Refactor about segue into Coordinator

commit f34a8cd
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Fri Jun 10 23:13:39 2022 +0200

    Update limited library mode handling

    - limited library is handled via the title button
    - dedicate menu for the title button

commit 454a04a
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Fri Jun 10 22:07:37 2022 +0200

    Make filter button filled when filter active

commit 1cf18b4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Fri Jun 10 21:38:12 2022 +0200

    Use system ellipsis icon in editor

commit 9682bae
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 23:17:24 2022 +0200

    Update library filter menu

commit d901387
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 22:04:12 2022 +0200

    Rename `UserText` to `Localized`

commit f900673
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 21:30:23 2022 +0200

    Add `Utilities` package

commit feb1542
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 21:20:25 2022 +0200

    Maximum scaling for fonts

commit 408375d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 21:16:40 2022 +0200

    Non-optional named colors

commit 64d9162
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Jun 9 17:48:15 2022 +0200

    Tweak scrubbing speed menu

commit d0dfe0d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Jun 7 21:53:05 2022 +0200

    Update license

commit bc1d913
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Jun 6 23:46:24 2022 +0200

    Fix About icons

commit 2fee138
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Jun 6 22:07:59 2022 +0200

    Tweak zooming

    commit a3a0b31ed768f51254c7fb196f960d231bfe6652
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 22:04:11 2022 +0200

        Allow zooming out for very small videos

    commit e077ceb5cb9317d8bc76bf60f441b19db064377b
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 22:03:41 2022 +0200

        Increase maximum zoom to 800 %

    commit 5f3aa00ec7431127f4657eeb34687e2869a33859
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 21:36:22 2022 +0200

        Minor Refactorings

commit 821a4b8
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Jun 6 21:23:14 2022 +0200

    Update About screen

    commit 36edaae353c04aadcc1474dbb1e313eaca984b0e
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 21:10:43 2022 +0200

        Update texts

    commit f75db2126621c4fe8f47a395057a62f2d9ee3a70
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 21:04:29 2022 +0200

        Update support section

    commit 86cfa7043b76b326a05fec913c3863960392481f
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 20:26:03 2022 +0200

        Update About section icons & subtitles

    commit 2d40dc02d8215e4c4425571c8765bc2bd082890d
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 20:23:06 2022 +0200

        Use solid background color

    commit 1ddcb5641eff32f8b6af2e802db85b772d7338da
    Author: Arthur Hammer <hi@arthurhammer.de>
    Date:   Mon Jun 6 19:05:28 2022 +0200

        Add share button to about

commit 6158ca8
Merge: 6679f26 d42b442
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Thu Dec 2 21:38:45 2021 +0100

    Merge branch 'feature/iOS-15-support' into develop

commit d42b442
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Tue Nov 30 20:27:51 2021 +0100

    Fix editor navigation bar for iOS 15

commit 6679f26
Merge: c8e9992 cdbbbb2
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 23:02:01 2021 +0100

    Merge branch 'task/ios14-baseline' into develop

commit cdbbbb2
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 23:00:30 2021 +0100

    Re-enable logging

commit 994916a
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 22:55:47 2021 +0100

    Increase package version to iOS 14

commit 5cbbb98
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 22:25:46 2021 +0100

    Fix deprecation warnings

commit 8c737dd
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 22:24:27 2021 +0100

    Remove iOS 13/14 availability checks

commit 0a7501d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 22:08:37 2021 +0100

    Use Swift version 5

commit 8bd61b4
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 22:04:48 2021 +0100

    Raise deployment targt to iOS 14

commit c8e9992
Merge: 699adc2 1565ead
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 21:56:02 2021 +0100

    Merge branch 'feature/refresh-settings-texts' into develop

commit 1565ead
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 21:53:57 2021 +0100

    Update share action texts

commit 44d61ec
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 21:39:09 2021 +0100

    Update image format/compression quality texts

commit 2c61927
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 21:20:09 2021 +0100

    Update metadata texts

commit 810974d
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Mon Nov 29 21:18:26 2021 +0100

    Small refactoring

commit 699adc2
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:37:55 2021 +0100

    Add sanity check

commit f4402f0
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:37:42 2021 +0100

    Disable compression quality cell for PNG

commit 3728383
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:36:38 2021 +0100

    Dont pass compression quality for PNG

commit 83acf58
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:17:47 2021 +0100

    Update localizations

commit b9d2480
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:07:57 2021 +0100

    Only show supported formats

commit 5573c8b
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 23:04:35 2021 +0100

    Update settings user texts

commit 7047490
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Nov 28 21:22:32 2021 +0100

    Add PNG image format

commit 285e045
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 19:17:07 2021 +0100

    Group list controller into folder

commit a31734a
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 19:39:35 2021 +0100

    Small refactorings

commit bd8d417
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 19:12:43 2021 +0100

    Refactor and document AlbumPickerViewController

commit bcfb341
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 18:32:50 2021 +0100

    Refactor and document album providers

commit 023c78e
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 17:06:06 2021 +0100

    Refactor and document private types

    - Simplify update API for photo library changes
    - Rename properties for MappedFetchResult
    - Inline FetchedAlbumProtocol
    - Add documentation

commit 32f3376
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 21:07:16 2021 +0100

    Refactor albums fetch options

    - Split file into two
    - Rename structs
    - Add explicit default options

commit 3120254
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 21:05:03 2021 +0100

    Add AlbumPickerDataSource protocol

commit 36db539
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 15:22:43 2021 +0100

    Regroup folders

    To better match public and private types.

commit d324951
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 15:32:24 2021 +0100

    Refactor and document album types

commit a087b72
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 15:18:08 2021 +0100

    Rename Album protocol and implementation

    - Rename `Album` to `AlbumProtocol`
    - Rename `AnyAlbum` to `Album`
    - Use `Album` in public API

commit 8d6ff4c
Author: Arthur Hammer <hi@arthurhammer.de>
Date:   Sun Mar 21 15:17:24 2021 +0100

    Add AlbumProvider protocol
  • Loading branch information
arthurhammer committed May 20, 2023
1 parent 7d186de commit 244e91d
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 38 deletions.
6 changes: 3 additions & 3 deletions Frame Grabber.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1210,7 +1210,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ID_SUFFIX}";
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = accent;
BUILD_VERSION = 65;
BUILD_VERSION = 70;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "${BUILD_VERSION}${BUNDLE_ID_SUFFIX}";
Expand Down Expand Up @@ -1259,7 +1259,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ID_SUFFIX}";
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = accent;
BUILD_VERSION = 65;
BUILD_VERSION = 70;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "${BUILD_VERSION}${BUNDLE_ID_SUFFIX}";
Expand All @@ -1286,7 +1286,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ID_SUFFIX}";
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = accent;
BUILD_VERSION = 65;
BUILD_VERSION = 70;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "${BUILD_VERSION}${BUNDLE_ID_SUFFIX}";
Expand Down
4 changes: 2 additions & 2 deletions Frame Grabber/Resources/Localized.swift
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ enum Localized {
}

enum Purchase {
static let title = String(localized: "purchase.title", defaultValue: "This App is for You", comment: "Title: Donation screen")
static let title = String(localized: "purchase.title", defaultValue: "I made this app for you.", comment: "Title: Donation screen")
static let titlePurchased = String(localized: "purchase.title-purchased", defaultValue: "Thank You for Your Donation", comment: "Title: Donation already purchased")
static let body = String(localized: "purchase.body", defaultValue: "Designed to make grabbing your best pictures a breeze.\n\nA donation helps a ton.", comment: "Body: Donation screen explanation.")
static let body = String(localized: "purchase.body", defaultValue: "Designed to get out of your way and make grabbing your best pictures a breeze.\n\nDonations help a ton!", comment: "Body: Donation screen explanation.")
static let purchase = String(localized: "purchase.purchase", defaultValue: "Donate", comment: "Button: Purchase a donation")
static let thankYou = String(localized: "purchase.thankyou", defaultValue: "🎉", comment: "Button: Donation already purchased, fires confettit")
static let restore = String(localized: "purchase.restore", defaultValue: "Restore", comment: "Button: Restore past purchases")
Expand Down
61 changes: 28 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,61 +3,56 @@
<img src="design/banner.jpg" alt="App Store banner.">
</a>
</p>

Frame Grabber is a focused, easy-to-use iOS app to extract full-resolution video frames as images. Perfect to capture and share your favorite video moments.

<p align="center">
<a href="https://apps.apple.com/app/frame-grabber/id1434703541">
<img src="./design/app-store-badge.svg" alt="Download on the App Store">
</a>
</p>

Check out [framegrabberapp.com](https://framegrabberapp.com) for more info.
[Frame Grabber](https://framegrabberapp.com) is an app for iOS & iPadOS to extract full-resolution video frames as images — [framegrabberapp.com](https://framegrabberapp.com)

## Use Cases
## About

Frame Grabber's users make all kinds of great stuff:
**Why**:
- I wanted this app for myself (existing apps were not great)

- Find that perfect moment of you snowboarding, surfing or racing
- Nature videography 🐦
- Create YouTube thumbnails
- Cats, it's always cats
- Grab the cutest look in your selfie videos 💃🏼
- Simply share your coolest moments with friends
- Create photo books from holiday clips
- Accidentally recorded a video when you meant to take a picture? Make a photo out of it.
- Have trouble taking a pic at just the right moment? Just record a video and grab the perfect frame afterwards.
**Challenge**:
- Learn iOS development
- No 3rd-party dependencies allowed, do everything myself
- Make the best app of its kind

## Features
**Results**:
- 4.8 stars worldwide
- Loved by users for its UX and ease-of-use
- Consistent monthly income

- Super easy to use
- Export frames in full resolution and highest quality
- Exact frame-by-frame comparison and full zoom to find the perfect moment
- Works with Live Photos, too
- Import videos from Files
- Import videos from other apps like your favorite movie editor
- Record selfie videos
- Attach Exif metadata when exporting
- Choose the export format (JPEG, HEIF) and compression quality
## Building

## About
- Open Xcode
- Change development team and bundle identifier
- Build

I made it Frame Grabber for two reasons: I've wanted an app like this for the longest time and it seemed perfect in scope to learn iOS development and Swift.
## Project Setup

My focus was on making the app feel polished and super easy-to-use. It should be a tool that gets out of your way and feels right at home on your device.
> **Warning**
> This code is from my very first project before I knew anything about professional iOS development, tight coupling, dependency injection, or SOLID.
There are not too many fully-featured and polished open source iOS apps out there to study. I wanted to make Frame Grabber available to anyone in hopes other beginners can learn from it. Keep in mind this was my first app so the code is nowhere near to perfect.
To learn the fundamentals, I decided to stick to Apple's documentation.

## Development
The project uses MVC with storyboards. A few parts use view models. The Coordinator pattern navigates from scene to scene. iPadOS-specific layouts are implemented with size classes in code and in storyboards. Layouts support Dynamic Type and Accessibility.

Open the project in Xcode and build. The app has no dependencies.
Main components:
- [`Application`](Frame%20Grabber/Application): Entry point into the app
- [`Scenes`](Frame%20Grabber/Scenes):The app's main screens
- [`Packages`](Frame%20Grabber/Packages): Modules extracted so far
- [`SampleTimeIndexerTests`](Frame%20Grabber/Packages/SampleTimeIndexer/Tests/SampleTimeIndexerTests/): Some tests for a critical part of the app

## Contact

Feel free to open an issue or contact me at hi@arthurhammer.de. Feedback welcome!
Feedback welcome! — hi@arthurhammer.de

## License

See [`LICENSE`](LICENSE).

Just don't make it weird and [re-publish a clone to the App Store](https://github.com/arthurhammer/FrameGrabber/issues/5).
Please don't make it weird and [publish a clone](https://github.com/arthurhammer/FrameGrabber/issues/5) to the App Store. If you want to improve the app, I'd love to hear your feedback 🤗

0 comments on commit 244e91d

Please sign in to comment.