Mztj67_#M}W?l>kYSliK<%xAp;0j{!}J0!o7b
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
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ui/audioench/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
deleted file mode 100644
index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1418
zcmV;51$Fv~P)q
zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+
zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq
z^={4hPQv)y=I|4n+?>7Fim=dxt1
z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT
zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf`
zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_>
z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3
zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF
z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a
z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE
z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62(
zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;?
zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-<
z{s<&cCV_1`^TD^ia9!*mQDq&
zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw
zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv
zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF
z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC
YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
deleted file mode 100644
index 0bedcf2..0000000
--- a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "LaunchImage.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "LaunchImage@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "LaunchImage@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
deleted file mode 100644
index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 68
zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J
Q1PU{Fy85}Sb4q9e0B4a5jsO4v
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
deleted file mode 100644
index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 68
zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J
Q1PU{Fy85}Sb4q9e0B4a5jsO4v
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
deleted file mode 100644
index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 68
zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J
Q1PU{Fy85}Sb4q9e0B4a5jsO4v
diff --git a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
deleted file mode 100644
index 89c2725..0000000
--- a/ui/audioench/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Launch Screen Assets
-
-You can customize the launch screen with your own desired assets by replacing the image files in this directory.
-
-You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
diff --git a/ui/audioench/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ui/audioench/ios/Runner/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index f2e259c..0000000
--- a/ui/audioench/ios/Runner/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/audioench/ios/Runner/Base.lproj/Main.storyboard b/ui/audioench/ios/Runner/Base.lproj/Main.storyboard
deleted file mode 100644
index f3c2851..0000000
--- a/ui/audioench/ios/Runner/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/audioench/ios/Runner/Info.plist b/ui/audioench/ios/Runner/Info.plist
deleted file mode 100644
index f314d79..0000000
--- a/ui/audioench/ios/Runner/Info.plist
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleDisplayName
- Audioench
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- audioench
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleSignature
- ????
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- CADisableMinimumFrameDurationOnPhone
-
- UIApplicationSupportsIndirectInputEvents
-
-
-
diff --git a/ui/audioench/ios/Runner/Runner-Bridging-Header.h b/ui/audioench/ios/Runner/Runner-Bridging-Header.h
deleted file mode 100644
index 308a2a5..0000000
--- a/ui/audioench/ios/Runner/Runner-Bridging-Header.h
+++ /dev/null
@@ -1 +0,0 @@
-#import "GeneratedPluginRegistrant.h"
diff --git a/ui/audioench/ios/RunnerTests/RunnerTests.swift b/ui/audioench/ios/RunnerTests/RunnerTests.swift
deleted file mode 100644
index 86a7c3b..0000000
--- a/ui/audioench/ios/RunnerTests/RunnerTests.swift
+++ /dev/null
@@ -1,12 +0,0 @@
-import Flutter
-import UIKit
-import XCTest
-
-class RunnerTests: XCTestCase {
-
- func testExample() {
- // If you add code to the Runner application, consider adding tests here.
- // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
- }
-
-}
diff --git a/ui/audioench/lib/main.dart b/ui/audioench/lib/main.dart
deleted file mode 100644
index 7373afc..0000000
--- a/ui/audioench/lib/main.dart
+++ /dev/null
@@ -1,316 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:image_picker/image_picker.dart';
-import 'package:video_player/video_player.dart';
-import 'package:audioplayers/audioplayers.dart';
-import 'package:file_picker/file_picker.dart';
-import 'dart:io';
-
-void main() {
- runApp(MyApp());
-}
-
-class MyApp extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- debugShowCheckedModeBanner: false,
- home: LandingPage(),
- );
- }
-}
-
-class LandingPage extends StatefulWidget {
- @override
- _LandingPageState createState() => _LandingPageState();
-}
-
-class _LandingPageState extends State {
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- backgroundColor: Colors.blue,
- body: Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- CircleAvatar(
- radius: 80,
- backgroundImage: AssetImage('assets/profile_image.png'), // Replace with your image path
- ),
- SizedBox(height: 20),
- Text(
- 'Your Name',
- style: TextStyle(
- color: Colors.white,
- fontSize: 24,
- fontWeight: FontWeight.bold,
- ),
- ),
- ],
- ),
- ),
- floatingActionButton: FloatingActionButton(
- backgroundColor: Colors.white,
- onPressed: () {
- Navigator.push(
- context,
- PageRouteBuilder(
- pageBuilder: (context, animation, secondaryAnimation) =>
- AddToPostScreen(),
- transitionsBuilder:
- (context, animation, secondaryAnimation, child) {
- const begin = Offset(0.0, 1.0);
- const end = Offset.zero;
- const curve = Curves.easeInOut;
-
- var tween = Tween(begin: begin, end: end)
- .chain(CurveTween(curve: curve));
- var offsetAnimation = animation.drive(tween);
-
- return SlideTransition(
- position: offsetAnimation,
- child: child,
- );
- },
- ),
- );
- },
- child: Icon(Icons.arrow_forward, color: Colors.blue),
- ),
- );
- }
-}
-
-class AddToPostScreen extends StatefulWidget {
- @override
- _AddToPostScreenState createState() => _AddToPostScreenState();
-}
-
-class _AddToPostScreenState extends State {
- final ImagePicker _picker = ImagePicker();
- List _selectedFiles = [];
- VideoPlayerController? _videoController;
- AudioPlayer _audioPlayer = AudioPlayer();
- bool _isPlayingVideo = false;
- bool _isPlayingAudio = false;
-
- Future _pickVideos() async {
- final result = await FilePicker.platform.pickFiles(
- type: FileType.video,
- allowMultiple: true,
- );
-
- if (result != null) {
- setState(() {
- _selectedFiles.addAll(result.files);
-
- // Play the first video file (if selected)
- if (result.files.isNotEmpty) {
- _videoController = VideoPlayerController.file(File(result.files.first.path!))
- ..initialize().then((_) {
- setState(() {
- _isPlayingVideo = true;
- _videoController!.play();
- });
- });
- }
- });
- }
- }
-
-Future _pickAudios() async {
- final result = await FilePicker.platform.pickFiles(
- type: FileType.audio,
- allowMultiple: true,
- );
-
- if (result != null) {
- setState(() {
- _selectedFiles.addAll(result.files);
- });
-
- // Play the first audio file
- if (result.files.isNotEmpty) {
- await _audioPlayer.play(result.files.first.path! as Source); // Ensure the path is valid
- setState(() {
- _isPlayingAudio = true;
- });
- }
- }
-}
-
-
- @override
- void dispose() {
- _videoController?.dispose();
- _audioPlayer.dispose();
- super.dispose();
- }
-
- void _proceedToNext() {
- print("Selected files: ${_selectedFiles.map((file) => file.path).toList()}");
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- backgroundColor: Colors.white,
- body: Column(
- children: [
- // Header
- Container(
- padding: const EdgeInsets.symmetric(vertical: 16, horizontal: 16),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- IconButton(
- icon: Icon(Icons.close, color: Color(0xFF111418)),
- onPressed: () {
- Navigator.pop(context);
- },
- ),
- Text(
- 'Add to your post',
- style: TextStyle(
- color: Color(0xFF111418),
- fontSize: 18,
- fontWeight: FontWeight.bold,
- ),
- ),
- SizedBox(width: 24),
- ],
- ),
- ),
-
- // Video and Audio Options
- Container(
- padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
- child: Row(
- children: [
- Container(
- padding: const EdgeInsets.all(8),
- decoration: BoxDecoration(
- color: Color(0xFFF0F2F4),
- borderRadius: BorderRadius.circular(8),
- ),
- child: Icon(Icons.video_library, size: 24, color: Color(0xFF111418)),
- ),
- SizedBox(width: 16),
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- 'Choose a video or audio file',
- style: TextStyle(
- color: Color(0xFF111418),
- fontSize: 16,
- fontWeight: FontWeight.w500,
- ),
- ),
- SizedBox(height: 4),
- Text(
- 'You can upload up to 10 minutes of video and 512MB of audio.',
- style: TextStyle(
- color: Color(0xFF637588),
- fontSize: 14,
- fontWeight: FontWeight.normal,
- ),
- ),
- ],
- ),
- ],
- ),
- ),
-
- // Buttons
- Spacer(),
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16),
- child: Column(
- children: [
- ElevatedButton(
- style: ElevatedButton.styleFrom(
- backgroundColor: Color(0xFF1980E6),
- minimumSize: Size(double.infinity, 48),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(16),
- ),
- ),
- onPressed: _pickVideos,
- child: Text(
- 'Video',
- style: TextStyle(
- color: Colors.white,
- fontSize: 16,
- fontWeight: FontWeight.bold,
- ),
- ),
- ),
- SizedBox(height: 8),
- ElevatedButton(
- style: ElevatedButton.styleFrom(
- backgroundColor: Color(0xFFF0F2F4),
- minimumSize: Size(double.infinity, 48),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(16),
- ),
- ),
- onPressed: _pickAudios,
- child: Text(
- 'Audio',
- style: TextStyle(
- color: Color(0xFF111418),
- fontSize: 16,
- fontWeight: FontWeight.bold,
- ),
- ),
- ),
- ],
- ),
- ),
-
- // Display Selected Files
- if (_selectedFiles.isNotEmpty) ...[
- SizedBox(height: 20),
- Expanded(
- child: ListView.builder(
- itemCount: _selectedFiles.length,
- itemBuilder: (context, index) {
- final file = _selectedFiles[index];
- final isVideo = file.extension == 'mp4';
- return ListTile(
- title: Text(file.name),
- trailing: Icon(isVideo ? Icons.play_arrow : Icons.audiotrack),
- );
- },
- ),
- ),
- ],
-
- // Next Button
- Padding(
- padding: const EdgeInsets.all(16.0),
- child: ElevatedButton(
- style: ElevatedButton.styleFrom(
- backgroundColor: Colors.green,
- minimumSize: Size(double.infinity, 48),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(16),
- ),
- ),
- onPressed: _proceedToNext,
- child: Text(
- 'Next',
- style: TextStyle(
- color: Colors.white,
- fontSize: 16,
- fontWeight: FontWeight.bold,
- ),
- ),
- ),
- ),
- ],
- ),
- );
- }
-}
diff --git a/ui/audioench/linux/.gitignore b/ui/audioench/linux/.gitignore
deleted file mode 100644
index d3896c9..0000000
--- a/ui/audioench/linux/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-flutter/ephemeral
diff --git a/ui/audioench/linux/CMakeLists.txt b/ui/audioench/linux/CMakeLists.txt
deleted file mode 100644
index 8b12890..0000000
--- a/ui/audioench/linux/CMakeLists.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-# Project-level configuration.
-cmake_minimum_required(VERSION 3.13)
-project(runner LANGUAGES CXX)
-
-# The name of the executable created for the application. Change this to change
-# the on-disk name of your application.
-set(BINARY_NAME "audioench")
-# The unique GTK application identifier for this application. See:
-# https://wiki.gnome.org/HowDoI/ChooseApplicationID
-set(APPLICATION_ID "com.example.audioench")
-
-# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
-# versions of CMake.
-cmake_policy(SET CMP0063 NEW)
-
-# Load bundled libraries from the lib/ directory relative to the binary.
-set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
-
-# Root filesystem for cross-building.
-if(FLUTTER_TARGET_PLATFORM_SYSROOT)
- set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
- set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
- set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
- set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
- set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-endif()
-
-# Define build configuration options.
-if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
- set(CMAKE_BUILD_TYPE "Debug" CACHE
- STRING "Flutter build mode" FORCE)
- set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
- "Debug" "Profile" "Release")
-endif()
-
-# Compilation settings that should be applied to most targets.
-#
-# Be cautious about adding new options here, as plugins use this function by
-# default. In most cases, you should add new options to specific targets instead
-# of modifying this function.
-function(APPLY_STANDARD_SETTINGS TARGET)
- target_compile_features(${TARGET} PUBLIC cxx_std_14)
- target_compile_options(${TARGET} PRIVATE -Wall -Werror)
- target_compile_options(${TARGET} PRIVATE "$<$>:-O3>")
- target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>")
-endfunction()
-
-# Flutter library and tool build rules.
-set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
-add_subdirectory(${FLUTTER_MANAGED_DIR})
-
-# System-level dependencies.
-find_package(PkgConfig REQUIRED)
-pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
-
-# Application build; see runner/CMakeLists.txt.
-add_subdirectory("runner")
-
-# Run the Flutter tool portions of the build. This must not be removed.
-add_dependencies(${BINARY_NAME} flutter_assemble)
-
-# Only the install-generated bundle's copy of the executable will launch
-# correctly, since the resources must in the right relative locations. To avoid
-# people trying to run the unbundled copy, put it in a subdirectory instead of
-# the default top-level location.
-set_target_properties(${BINARY_NAME}
- PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
-)
-
-
-# Generated plugin build rules, which manage building the plugins and adding
-# them to the application.
-include(flutter/generated_plugins.cmake)
-
-
-# === Installation ===
-# By default, "installing" just makes a relocatable bundle in the build
-# directory.
-set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
-endif()
-
-# Start with a clean build bundle directory every time.
-install(CODE "
- file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
- " COMPONENT Runtime)
-
-set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
-set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
-
-install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
- COMPONENT Runtime)
-
-install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
- COMPONENT Runtime)
-
-install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- COMPONENT Runtime)
-
-foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
- install(FILES "${bundled_library}"
- DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- COMPONENT Runtime)
-endforeach(bundled_library)
-
-# Copy the native assets provided by the build.dart from all packages.
-set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
-install(DIRECTORY "${NATIVE_ASSETS_DIR}"
- DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- COMPONENT Runtime)
-
-# Fully re-copy the assets directory on each build to avoid having stale files
-# from a previous install.
-set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
-install(CODE "
- file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
- " COMPONENT Runtime)
-install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
- DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
-
-# Install the AOT library on non-Debug builds only.
-if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
- install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
- COMPONENT Runtime)
-endif()
diff --git a/ui/audioench/linux/flutter/CMakeLists.txt b/ui/audioench/linux/flutter/CMakeLists.txt
deleted file mode 100644
index d5bd016..0000000
--- a/ui/audioench/linux/flutter/CMakeLists.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-# This file controls Flutter-level build steps. It should not be edited.
-cmake_minimum_required(VERSION 3.10)
-
-set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
-
-# Configuration provided via flutter tool.
-include(${EPHEMERAL_DIR}/generated_config.cmake)
-
-# TODO: Move the rest of this into files in ephemeral. See
-# https://github.com/flutter/flutter/issues/57146.
-
-# Serves the same purpose as list(TRANSFORM ... PREPEND ...),
-# which isn't available in 3.10.
-function(list_prepend LIST_NAME PREFIX)
- set(NEW_LIST "")
- foreach(element ${${LIST_NAME}})
- list(APPEND NEW_LIST "${PREFIX}${element}")
- endforeach(element)
- set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
-endfunction()
-
-# === Flutter Library ===
-# System-level dependencies.
-find_package(PkgConfig REQUIRED)
-pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
-pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
-pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
-
-set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
-
-# Published to parent scope for install step.
-set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
-set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
-set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
-set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
-
-list(APPEND FLUTTER_LIBRARY_HEADERS
- "fl_basic_message_channel.h"
- "fl_binary_codec.h"
- "fl_binary_messenger.h"
- "fl_dart_project.h"
- "fl_engine.h"
- "fl_json_message_codec.h"
- "fl_json_method_codec.h"
- "fl_message_codec.h"
- "fl_method_call.h"
- "fl_method_channel.h"
- "fl_method_codec.h"
- "fl_method_response.h"
- "fl_plugin_registrar.h"
- "fl_plugin_registry.h"
- "fl_standard_message_codec.h"
- "fl_standard_method_codec.h"
- "fl_string_codec.h"
- "fl_value.h"
- "fl_view.h"
- "flutter_linux.h"
-)
-list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
-add_library(flutter INTERFACE)
-target_include_directories(flutter INTERFACE
- "${EPHEMERAL_DIR}"
-)
-target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
-target_link_libraries(flutter INTERFACE
- PkgConfig::GTK
- PkgConfig::GLIB
- PkgConfig::GIO
-)
-add_dependencies(flutter flutter_assemble)
-
-# === Flutter tool backend ===
-# _phony_ is a non-existent file to force this command to run every time,
-# since currently there's no way to get a full input/output list from the
-# flutter tool.
-add_custom_command(
- OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
- ${CMAKE_CURRENT_BINARY_DIR}/_phony_
- COMMAND ${CMAKE_COMMAND} -E env
- ${FLUTTER_TOOL_ENVIRONMENT}
- "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
- ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}
- VERBATIM
-)
-add_custom_target(flutter_assemble DEPENDS
- "${FLUTTER_LIBRARY}"
- ${FLUTTER_LIBRARY_HEADERS}
-)
diff --git a/ui/audioench/linux/flutter/generated_plugin_registrant.cc b/ui/audioench/linux/flutter/generated_plugin_registrant.cc
deleted file mode 100644
index e0c16cd..0000000
--- a/ui/audioench/linux/flutter/generated_plugin_registrant.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#include "generated_plugin_registrant.h"
-
-#include
-#include
-
-void fl_register_plugins(FlPluginRegistry* registry) {
- g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar =
- fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin");
- audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar);
- g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
- fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
- file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
-}
diff --git a/ui/audioench/linux/flutter/generated_plugin_registrant.h b/ui/audioench/linux/flutter/generated_plugin_registrant.h
deleted file mode 100644
index e0f0a47..0000000
--- a/ui/audioench/linux/flutter/generated_plugin_registrant.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#ifndef GENERATED_PLUGIN_REGISTRANT_
-#define GENERATED_PLUGIN_REGISTRANT_
-
-#include
-
-// Registers Flutter plugins.
-void fl_register_plugins(FlPluginRegistry* registry);
-
-#endif // GENERATED_PLUGIN_REGISTRANT_
diff --git a/ui/audioench/linux/flutter/generated_plugins.cmake b/ui/audioench/linux/flutter/generated_plugins.cmake
deleted file mode 100644
index a77328d..0000000
--- a/ui/audioench/linux/flutter/generated_plugins.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Generated file, do not edit.
-#
-
-list(APPEND FLUTTER_PLUGIN_LIST
- audioplayers_linux
- file_selector_linux
-)
-
-list(APPEND FLUTTER_FFI_PLUGIN_LIST
-)
-
-set(PLUGIN_BUNDLED_LIBRARIES)
-
-foreach(plugin ${FLUTTER_PLUGIN_LIST})
- add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
- target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
- list(APPEND PLUGIN_BUNDLED_LIBRARIES $)
- list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
-endforeach(plugin)
-
-foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
- add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
- list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
-endforeach(ffi_plugin)
diff --git a/ui/audioench/linux/runner/CMakeLists.txt b/ui/audioench/linux/runner/CMakeLists.txt
deleted file mode 100644
index e97dabc..0000000
--- a/ui/audioench/linux/runner/CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-cmake_minimum_required(VERSION 3.13)
-project(runner LANGUAGES CXX)
-
-# Define the application target. To change its name, change BINARY_NAME in the
-# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer
-# work.
-#
-# Any new source files that you add to the application should be added here.
-add_executable(${BINARY_NAME}
- "main.cc"
- "my_application.cc"
- "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
-)
-
-# Apply the standard set of build settings. This can be removed for applications
-# that need different build settings.
-apply_standard_settings(${BINARY_NAME})
-
-# Add preprocessor definitions for the application ID.
-add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
-
-# Add dependency libraries. Add any application-specific dependencies here.
-target_link_libraries(${BINARY_NAME} PRIVATE flutter)
-target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
-
-target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")
diff --git a/ui/audioench/linux/runner/main.cc b/ui/audioench/linux/runner/main.cc
deleted file mode 100644
index e7c5c54..0000000
--- a/ui/audioench/linux/runner/main.cc
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "my_application.h"
-
-int main(int argc, char** argv) {
- g_autoptr(MyApplication) app = my_application_new();
- return g_application_run(G_APPLICATION(app), argc, argv);
-}
diff --git a/ui/audioench/linux/runner/my_application.cc b/ui/audioench/linux/runner/my_application.cc
deleted file mode 100644
index 53a6ddb..0000000
--- a/ui/audioench/linux/runner/my_application.cc
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "my_application.h"
-
-#include
-#ifdef GDK_WINDOWING_X11
-#include
-#endif
-
-#include "flutter/generated_plugin_registrant.h"
-
-struct _MyApplication {
- GtkApplication parent_instance;
- char** dart_entrypoint_arguments;
-};
-
-G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
-
-// Implements GApplication::activate.
-static void my_application_activate(GApplication* application) {
- MyApplication* self = MY_APPLICATION(application);
- GtkWindow* window =
- GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
-
- // Use a header bar when running in GNOME as this is the common style used
- // by applications and is the setup most users will be using (e.g. Ubuntu
- // desktop).
- // If running on X and not using GNOME then just use a traditional title bar
- // in case the window manager does more exotic layout, e.g. tiling.
- // If running on Wayland assume the header bar will work (may need changing
- // if future cases occur).
- gboolean use_header_bar = TRUE;
-#ifdef GDK_WINDOWING_X11
- GdkScreen* screen = gtk_window_get_screen(window);
- if (GDK_IS_X11_SCREEN(screen)) {
- const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);
- if (g_strcmp0(wm_name, "GNOME Shell") != 0) {
- use_header_bar = FALSE;
- }
- }
-#endif
- if (use_header_bar) {
- GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
- gtk_widget_show(GTK_WIDGET(header_bar));
- gtk_header_bar_set_title(header_bar, "audioench");
- gtk_header_bar_set_show_close_button(header_bar, TRUE);
- gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
- } else {
- gtk_window_set_title(window, "audioench");
- }
-
- gtk_window_set_default_size(window, 1280, 720);
- gtk_widget_show(GTK_WIDGET(window));
-
- g_autoptr(FlDartProject) project = fl_dart_project_new();
- fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
-
- FlView* view = fl_view_new(project);
- gtk_widget_show(GTK_WIDGET(view));
- gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
-
- fl_register_plugins(FL_PLUGIN_REGISTRY(view));
-
- gtk_widget_grab_focus(GTK_WIDGET(view));
-}
-
-// Implements GApplication::local_command_line.
-static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
- MyApplication* self = MY_APPLICATION(application);
- // Strip out the first argument as it is the binary name.
- self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);
-
- g_autoptr(GError) error = nullptr;
- if (!g_application_register(application, nullptr, &error)) {
- g_warning("Failed to register: %s", error->message);
- *exit_status = 1;
- return TRUE;
- }
-
- g_application_activate(application);
- *exit_status = 0;
-
- return TRUE;
-}
-
-// Implements GApplication::startup.
-static void my_application_startup(GApplication* application) {
- //MyApplication* self = MY_APPLICATION(object);
-
- // Perform any actions required at application startup.
-
- G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
-}
-
-// Implements GApplication::shutdown.
-static void my_application_shutdown(GApplication* application) {
- //MyApplication* self = MY_APPLICATION(object);
-
- // Perform any actions required at application shutdown.
-
- G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
-}
-
-// Implements GObject::dispose.
-static void my_application_dispose(GObject* object) {
- MyApplication* self = MY_APPLICATION(object);
- g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);
- G_OBJECT_CLASS(my_application_parent_class)->dispose(object);
-}
-
-static void my_application_class_init(MyApplicationClass* klass) {
- G_APPLICATION_CLASS(klass)->activate = my_application_activate;
- G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;
- G_APPLICATION_CLASS(klass)->startup = my_application_startup;
- G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
- G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
-}
-
-static void my_application_init(MyApplication* self) {}
-
-MyApplication* my_application_new() {
- // Set the program name to the application ID, which helps various systems
- // like GTK and desktop environments map this running application to its
- // corresponding .desktop file. This ensures better integration by allowing
- // the application to be recognized beyond its binary name.
- g_set_prgname(APPLICATION_ID);
-
- return MY_APPLICATION(g_object_new(my_application_get_type(),
- "application-id", APPLICATION_ID,
- "flags", G_APPLICATION_NON_UNIQUE,
- nullptr));
-}
diff --git a/ui/audioench/linux/runner/my_application.h b/ui/audioench/linux/runner/my_application.h
deleted file mode 100644
index 72271d5..0000000
--- a/ui/audioench/linux/runner/my_application.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef FLUTTER_MY_APPLICATION_H_
-#define FLUTTER_MY_APPLICATION_H_
-
-#include
-
-G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
- GtkApplication)
-
-/**
- * my_application_new:
- *
- * Creates a new Flutter-based application.
- *
- * Returns: a new #MyApplication.
- */
-MyApplication* my_application_new();
-
-#endif // FLUTTER_MY_APPLICATION_H_
diff --git a/ui/audioench/logo.png b/ui/audioench/logo.png
deleted file mode 100644
index 9dbd9fc3bf2fcbfd900ea6b25d779dabb17f53c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 56605
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 E?%^Iq@9e1A6fIjnL##pvrcrpeNSu2t7rv1An
zr8CTi-lKi+{;BjBT0hN@_Wo|t-KD<4fn)N67QC6S9w@&VQdBr}DV$GwQ~rV@{)bsx
zR!U7;E%OhRfps|avrW(t#YEnzNXBkkz1ifwO59-?<<29fXBgGw|=91+4iJ<+++{g1}Ch
zs2H2N-~9Ra?QPi{>|~y7n<0JqQXVtnWEd0A6YnSz*=YHhjlik?OT8=%;XC#^j_9tZ
z%=raIUHty*?KV!p#_0w4CMcHTcO8y(g0|c+TfgTIy?PSLSo{bn?%#F%#hu1^n$;MJ
zn=_uYy^4)7f|ThZAGin_vkfiQKfe0iv1((QE!s7iJv14z-;^N>*VaA=I@JDZPtQeB
z6&4&ksF(6IKHVXjOqF5}H|pEpk^k7t8Ncn<78u__^D94SIoBWkTBu5<`+eTi$u%0R
zP<(cJid8RxiEJJ^fT7@Yu~rMw)Uy`c#Br%2s_#zNxth~W_uXkY!s{VK>G-<=Ji4Dt
z%$^$mWei}{NotysgV-kD;TeB0&8F4Kov!%FJhg3y@h+;kPHUhDQ_K+$=uf9ZEH)tq
zF^sUR`0=uG(yv_?_>E;0E|cf|i$x~o)BP+)Bq!#Ka=sg{L@=(-*mP(cEq&8ah2hFUA~}y;!uGF&Up&5JUZNMF15Nqan1NT_unu|l|FpV_?uB0fL?4em|n2ylbK9?UqGy6TProuj?YlTkp{5<
zL!J)P%3%MNg4Uar+mS1H5@~PdZu@gr6LzxY%8yZz%7Z8Hzz%GWWg)k3x`P>iY+OeM
zn!1=%p(ug;F+#Pki3w&)Z@!s&=j8MJd48m+n`^cgw0F#(_R
znUY;Rjn~0>Wwbqv06Zw?F<7#vH!{vERGJ(i3{6>EPXUtgaaH2ciWP8$-AG^2$MgtZ
zb*HTJq(ELJP!3CCIP$7_d9vgsW-v}nLo|7m+ig#y<2zrAcjMCTSer6dq(-^r_CcVd
zsV=^sJi|;kHMafvIpcEbu6MeQwv*>cBO`>Ojx>`pm2vx!h!deCeZVH-blSp6`?d+Y
z8h!Bdv`@L-w;q+dM4hqBeF=B>O(4uv7RM7-rO60)q`Qm>{_k7?sf>Ns^KJx4(G?n)
zQs>w6BA=cPa}?v0`w_3h39pv+TTr}(Ar!UI)7j`ImCtgs#Bc&TAaqgv1u@L%AoKX|
zyW%M9J5xB>#r>Z&(K-pIJlWqBA78Q$h+h%p3?5&QRM4!2J^n+bh0jR|;giLC5Q~i!
zZB_~Sxw-EA?t6+qwQzlX4b0GBkW?<1eplOhN2!T@t}@+?4jdF+c^IHjEPvhv1Ffv8
zlCxycNz2J@-Su1td46GuG~>W8Dev!)HE*ECiZ2-52**<*W(VUYT1&59VeMBhHZV20
z!LSd~8ojt{3`gVhF0teFG~^(H V-T3PyY;=y
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 |