Gyroflow documentation
  • ๐Ÿ‘‹Welcome to Gyroflow
    • ๐Ÿ’ŽFeatures
    • โœจExamples
    • ๐ŸงชTest Files
  • Getting started
    • โš™๏ธInstallation
      • DaVinci Resolve (OpenFX)
      • Final Cut Pro (Gyroflow Toolbox)
    • ๐ŸŽฅSupported Cameras
      • GoPro
      • DJI
      • Sony
      • Insta360
      • Blackmagic
      • RED
      • Flight controllers
      • RunCam
      • Caddx
      • Hawkeye
      • Mobile Phones
      • Other Cameras
    • ๐Ÿ”งBasic Usage
      • ๐Ÿ“ˆTimeline & Gyro Chart
      • โŒ›Synchronization
      • ๐Ÿ”ฅStabilization
      • ๐ŸŽฌExporting
    • ๐Ÿ“ธCommon Filming Tips & Issues
    • ๐ŸLens Calibration
    • โŒจ๏ธKeyboard Shortcuts
    • ๐ŸŽž๏ธFile Joiner
    • โ“FAQ
    • ๐ŸžTroubleshooting
    • ๐Ÿ—ฃ๏ธTranslations
    • ๐Ÿ›Report an Issue
  • Advanced usage
    • ๐ŸŽฌInput Data
    • ๐Ÿ”ญLens Profiles
    • โŒ›Synchronization
    • ๐Ÿ”ฅStabilization
    • ๐Ÿ”‘Keyframes
    • โš™๏ธSettings Presets
    • โฉRender Queue
    • ๐ŸŽฌExporting
    • ๐Ÿ—๏ธCommand Line (CLI)
    • ๐Ÿ’ปOther
    • ๐Ÿ”€IMU Orientation and rotation
    • ๐ŸŽจColor Differences
    • ๐ŸŒ€Using External Gyro Source
      • Action Camera as a Logger
      • Flight Controller
      • ESP-gyrologger
      • Flowshutter
    • ๐Ÿ“บLive Feed Stabilization
    • ๐Ÿฅฝ360ยฐ Cameras
  • Hardware Acceleration
    • ๐ŸŸขNVIDIA
    • ๐Ÿ”ดAMD
    • ๐Ÿ”ตIntel
    • โšชApple
    • ๐ŸŸขAndroid
  • Video Editor Plugins
    • ๐Ÿ’กGeneral Plugin Workflow
    • ๐Ÿ”ŒDaVinci Resolve (OpenFX)
    • ๐ŸŽž๏ธAdobe Premiere / After Effects
    • ๐ŸŽฌFinal Cut Pro X
    • ๐Ÿช„frei0r
    • ๐Ÿ—ƒ๏ธCSV Export
  • Technical Details
    • ๐Ÿฆ€Used Technologies
    • ๐Ÿ–‡๏ธParsing Gyro Data
    • ๐Ÿ› ๏ธGyroflow Core
    • ๐ŸงชBuilding from Source
    • ๐Ÿ—ƒ๏ธGCSV Format
    • ๐Ÿ—„๏ธGyroflow protobuf
    • ๐Ÿ–ฅ๏ธGitHub Repository
  • Authors
    • ๐Ÿ‘จโ€๐Ÿ”งAuthors
Powered by GitBook
On this page
  • Dev environment
  • Building steps
  • Profiling
  1. Technical Details

Building from Source

Dev environment

Visual Studio Code with rust-analyzer extension.

For working with QML I recommend to use Qt Creator and load all QML files there, as it has auto-complete and syntax highlighting. The project also supports UI live reload, it's a super quick way of working with the UI. Just change live_reload = true in gyroflow.rs and it should work right away. Now every time you change any QML file, the app should reload it immediately.

Building steps

  1. Prerequisites: git, 7z and working powershell. If you never ran powershell scripts before, run set-executionpolicy remotesigned in powershell as admin

  2. Get latest stable Rust language from: https://rustup.rs/

    • Please make sure to check the English language pack option when installing the C++ build tools from Visual Studio Installer

  3. Install Just by running cargo install --force just

  4. Clone the repo: git clone https://github.com/gyroflow/gyroflow.git

  5. Enter the project directory and:

    • Install dependencies: just install-deps

    • Compile and run: just run

  1. Prerequisites: git, brew

  2. Get latest stable Rust language from: https://rustup.rs/

  3. Install Just by running cargo install --force just

  4. Clone the repo: git clone https://github.com/gyroflow/gyroflow.git

  5. Enter the project directory and:

    • Install dependencies: just install-deps

    • Compile and run: just run

    • The first time you run it won't work, run just deploy once and then just run will work

  1. Prerequisites: git, 7z, python, apt package manager (or adjust commands inside scripts if on different distro)

  2. Get latest stable Rust language from: https://rustup.rs/

  3. Install Just by running cargo install --force just

  4. Clone the repo: git clone https://github.com/gyroflow/gyroflow.git

  5. Enter the project directory and:

    • Install dependencies: just install-deps

    • Compile and run: just run

  1. Prerequisites: git, 7z, working powershell, Android SDK and NDK. Building is supported only on Windows

  2. Get latest stable Rust language from: https://rustup.rs/

  3. Install Just by running cargo install --force just

  4. Clone the repo: git clone https://github.com/gyroflow/gyroflow.git

  5. Install Android SDK and NDK r23c and update paths in _scripts/android.just

  6. Enter the project directory and:

    • Install dependencies: just android install-deps

    • Compile the apk and install on device: just android deploy

  1. Prerequisites: git, brew

  2. Get latest stable Rust language from: https://rustup.rs/

  3. Install Just by running cargo install --force just

  4. Clone the repo: git clone https://github.com/gyroflow/gyroflow.git

  5. Enter the project directory and:

    • Install dependencies: just ios install-deps

    • Update Team ID, signing keys and provisioning profiles in _scripts/ios.just

    • Compile and run on device: just ios run

Profiling

  1. Install and run Visual Studio Community Edition

  2. Compile and run Gyroflow with the profile profile: cargo run --profile profile

  3. In Visual Studio, go to Debug -> Performance Profiler...

    • Under Target, open Change Target and select Running Process..., select the running gyroflow.exe process

  1. Uncomment config.define("QT_QML_DEBUG", None); in build.rs

  2. Comment cli::run() in gyroflow.rs

  3. Run in debug mode with QML debugger args: cargo run -- "-qmljsdebugger=port:1234,block,services:CanvasFrameRate,EngineControl,DebugMessages"

  4. In Qt Creator go to Analyze -> QML Profiler (Attach to Waiting Application) and enter port 1234

Last updated 7 months ago

๐Ÿงช