diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index 7e01c5fe..34cdd393 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -29,4 +29,5 @@ rnaa tada vec rnaa +javac diff --git a/.gitignore b/.gitignore index 4c060467..6d08e317 100644 --- a/.gitignore +++ b/.gitignore @@ -78,6 +78,7 @@ android/keystores/debug.keystore .turbo/ packages/react-native-audio-api/lib +react-native-audio-api*.tgz # Android .kotlin diff --git a/README.md b/README.md index c0731507..d30ddaec 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ React Native Audio API -### ⚠️ Early version warning! - -This library is at a very early stage of development. There are known performance issues and the library might not yet suitable for real production applications. - ### React Native Audio API `react-native-audio-api` provides system for controlling audio in React Native environment compatible with Web Audio API specification, @@ -41,7 +37,7 @@ Our current coverage of Web Audio API specification can be found here: [Web Audi -The source code for the example application is under the [`/apps/common-app`](./apps/common-app/) directory. If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Check [Example README](./apps/common-example/README.md) for installation instructions. +The source code for the example application is under the [`/apps/common-app`](./apps/common-app/) directory. If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Check [Example README](./apps/fabric-example/README.md) for installation instructions. ## Your feedback @@ -63,4 +59,4 @@ This project has been built and is maintained thanks to the support from [Softwa ## react-native-audio-api is created by Software Mansion -Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=audioapid&utm_medium=readme). +Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=audioapi&utm_medium=readme). diff --git a/apps/common-app/src/examples/DrumMachine/usePlayer.tsx b/apps/common-app/src/examples/DrumMachine/usePlayer.tsx index 6f977556..0c782a33 100644 --- a/apps/common-app/src/examples/DrumMachine/usePlayer.tsx +++ b/apps/common-app/src/examples/DrumMachine/usePlayer.tsx @@ -133,9 +133,6 @@ export default function usePlayer(options: PlayerOptions) { playingInstruments.value = getPlayingInstruments(); } - return () => { - audioContext.close(); - }; // \/ Shared values are not necessary in deps array // eslint-disable-next-line react-hooks/exhaustive-deps }, [isPlaying, setup]); diff --git a/apps/fabric-example/README.md b/apps/fabric-example/README.md index 12470c30..69f769e8 100644 --- a/apps/fabric-example/README.md +++ b/apps/fabric-example/README.md @@ -1,79 +1,20 @@ -This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). +# React Native Reanimated example app with Fabric -# Getting Started +## Installing & running application ->**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. +Before running application you need to install all dependencies. To do that: -## Step 1: Start the Metro Server +- In project's root directory run `yarn install` +- In FabricExample directory run `yarn install` -First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. +### Android -To start Metro, run the following command from the _root_ of your React Native project: +To run this application on Android you need to have Java 17 active on your computer. You can check which version you are using by running `javac --version`. You can change it by changing `JAVA_HOME` environment variable or in Android Studio settings. -```bash -# using npm -npm start +Then you can run this application by `yarn android` or from Android Studio. -# OR using Yarn -yarn start -``` +### iOS -## Step 2: Start your Application +To run on iOS first go to `FabricExample/ios` and run `pod install`. This will install pods for Fabric architecture. -Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: - -### For Android - -```bash -# using npm -npm run android - -# OR using Yarn -yarn android -``` - -### For iOS - -```bash -# using npm -npm run ios - -# OR using Yarn -yarn ios -``` - -If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. - -This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. - -## Step 3: Modifying your App - -Now that you have successfully run the app, let's modify it. - -1. Open `App.tsx` in your text editor of choice and edit some lines. -2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! - - For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes! - -## Congratulations! :tada: - -You've successfully run and modified your React Native App. :partying_face: - -### Now what? - -- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). -- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). - -# Troubleshooting - -If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. - -# Learn More - -To learn more about React Native, take a look at the following resources: - -- [React Native Website](https://reactnative.dev) - learn more about React Native. -- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. -- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. -- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. -- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. +Then in `FabricExample` run `yarn ios` or run application from Xcode. diff --git a/packages/react-native-audio-api/package.json b/packages/react-native-audio-api/package.json index 327ef8d2..991b7f38 100644 --- a/packages/react-native-audio-api/package.json +++ b/packages/react-native-audio-api/package.json @@ -1,6 +1,6 @@ { "name": "react-native-audio-api", - "version": "0.1.0", + "version": "0.2.0", "description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification", "main": "lib/commonjs/index", "module": "lib/module/index", @@ -45,7 +45,9 @@ "keywords": [ "react-native", "audio", - "audio-api" + "audio api", + "web audio api", + "react" ], "repository": { "type": "git",