Git Product home page Git Product logo

corezen's Introduction

CoreZen.framework

Xcode - Build and Analyze

A macOS Cocoa framework made up of useful bits of code from my side projects.

Written by Zach Nelson. See the LICENSE file for license info (it's the MIT license).

Getting Started

FMDB.framework Dependency

CoreZen links against and bundles FMDB.framework. The Xcode project is set up to find FMDB installed using Carthage.

Installation: Run carthage update --platform mac to build Carthage/Build/Mac/FMDB.framework. The CoreZen Xcode project will find it from there.

mpv and libav Dependencies

CoreZen links against and bundles dynamic libraries for libmpv and libav. The Xcode project is set up to find headers and libraries installed using Homebrew.

Installation:

  1. Run brew install mpv ffmpeg to install mpv and libav.
  2. Run Scripts/stage_dependencies.py. This will gather mpv and libav dylibs and headers into Dependencies/lib and Dependencies/include, respectively. The CoreZen Xcode project will find them there.

What's In CoreZen.framework?

1. Preferences

Create dynamic preference windows, inspired by CCNPreferencesWindowController.

2. Foundation Categories

Categories to add functionality to Foundation classes:

3. Domain Data Modeling and Persistence

I. Object Identifiers

ZENIdentifier is an (atomically unique increasing) 64-bit integer identifier and the ZENIdentifiable protocol is for objects with such an identifier.

II. Object Cache

ZENObjectCache is a thread safe object cache for ZENIdentifiable objects, configurable to hold either weak or strong refs to cached objects.

III. Database

Helper classes around FMDB and sqlite3, including:

Note on dependencies: ZENDatabaseQueue and other classes in CoreZen depend on FMDB.framework. See above for installation from Carthage.

IV. Domain Objects

Helper classes to build a domain model, including:

4. Media

Classes to support reading audio and video media files:

  • ZENMediaFile is a Work In Progress. Currently supports only basic media metadata retrieval including: video frame size, media duration, and audio and video codec names.

Note on dependencies: ZENMediaFile and other classes in CoreZen depend on libmpv and libav. See above for installation from Homebrew.

corezen's People

Contributors

znelson avatar

Stargazers

代码即是地狱 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.