# ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama architecture

> Architecture diagram of the GitHub repository ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama
- Repository: https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama

## Overview

This is a small, single-file macOS hand-gesture volume controller. Its runtime captures camera frames, detects and counts fingers, maps thumb–index distance to volume when three fingers are raised, applies the volume through osascript, and displays landmarks and status. All behavior is implemented in main.py; the README documents the workflow and platform limitation. The source excerpt does not show any separate subsystem or additional stages, so the graph stays focused on the actual runtime.

Main entry points: [`main.py`](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py) (Hand Tracking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gesture["Gesture Processing"]
  node_capture["Frame Capture<br/>[main.py]"]
  node_hand_tracking["Hand Tracking<br/>[main.py]"]
  node_finger_count["Finger Counting<br/>[main.py]"]
  node_distance["Gesture Distance<br/>[main.py]"]
end

subgraph group_control["Volume and Display"]
  node_volume_control["Volume Control<br/>[main.py]"]
  node_visual_feedback["Visual Feedback<br/>[main.py]"]
end

node_user(("User"))
node_camera["Camera"]
node_macos_audio["macOS Audio"]
node_display["Display"]

node_user -->|"starts"| node_capture
node_camera -->|"provides frames"| node_capture
node_capture -->|"passes frames"| node_hand_tracking
node_hand_tracking -->|"provides landmarks"| node_finger_count
node_hand_tracking -->|"provides landmarks"| node_distance
node_finger_count -->|"gates control"| node_volume_control
node_distance -->|"sets level"| node_volume_control
node_volume_control -->|"sets volume"| node_macos_audio
node_hand_tracking -->|"draws landmarks"| node_visual_feedback
node_distance -->|"draws measurement"| node_visual_feedback
node_volume_control -->|"shows status"| node_visual_feedback
node_visual_feedback -->|"renders frame"| node_display
node_user -->|"quits with q"| node_display

click node_capture "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"
click node_hand_tracking "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"
click node_finger_count "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"
click node_distance "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"
click node_volume_control "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"
click node_visual_feedback "https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_capture,node_hand_tracking,node_finger_count,node_distance,node_user toneBlue
class node_volume_control,node_visual_feedback toneAmber
class node_camera,node_macos_audio,node_display toneIndigo
```

## Components

### Gesture Processing

- [Frame Capture](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`
- [Hand Tracking](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`
- [Finger Counting](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`
- [Gesture Distance](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`

### Volume and Display

- [Volume Control](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`
- [Visual Feedback](https://github.com/ibrahimertiek0158/mediapipe_el_tanima_ile_ses_duzeyi_ayarlama/blob/main/main.py): `main.py`

### Other components

- **User**
- **Camera**
- **macOS Audio**
- **Display**

## Connections

- User → Frame Capture: starts (evidence: `README.md`)
- Camera → Frame Capture: provides frames (evidence: `main.py`)
- Frame Capture → Hand Tracking: passes frames (evidence: `main.py`)
- Hand Tracking → Finger Counting: provides landmarks (evidence: `main.py`)
- Hand Tracking → Gesture Distance: provides landmarks (evidence: `main.py`)
- Finger Counting → Volume Control: gates control (evidence: `main.py`)
- Gesture Distance → Volume Control: sets level (evidence: `main.py`)
- Volume Control → macOS Audio: sets volume (evidence: `main.py`)
- Hand Tracking → Visual Feedback: draws landmarks (evidence: `main.py`)
- Gesture Distance → Visual Feedback: draws measurement (evidence: `main.py`)
- Volume Control → Visual Feedback: shows status (evidence: `main.py`)
- Visual Feedback → Display: renders frame (evidence: `main.py`)
- User → Display: quits with q
