alexkang / loopboard Goto Github PK
View Code? Open in Web Editor NEWDynamic soundboard for Android. Record sound clips and play them back or loop them.
License: Apache License 2.0
Dynamic soundboard for Android. Record sound clips and play them back or loop them.
License: Apache License 2.0
It is very difficult to get the timing right when it comes to synchronizing multiple tracks by hand. But even if I manage to start all tracks at the same time, they will drift apart because they have slightly different durations. There should be an easy and straight-forward way to:
This could be done by saving the offset when pressing record in relation to the currently looping tracks. That way the app can auto-align the newly recorded track and line it up with the rest.
Note: Sometimes a delay sneaks into the recording, even if I press record at the same time as I make my sounds. This leads to a short, but noticable pause after hitting play, which makes synchronization even harder. Maybe the app is not accounting for Android's audio latency. I don't know.
sometimes it dosent record a new sample. after a few retries it works.
Hi, this is actually a feature request. It would be great to have a timer, or even better if the recording button function had start/stop, so that you could play after touching it and then stop. And an editor to cut it, be it from the begining or the end, so that you could remove stops and all that stuff.
I would try to implement it myself, but I just have basic programming skills...
Great app for the rest 👍
reproducable
D/AndroidRuntime(15355): Shutting down VM
W/dalvikvm(15355): threadid=1: thread exiting with uncaught exception (group=0x40a3f1f8)
E/AndroidRuntime(15355): FATAL EXCEPTION: main
E/AndroidRuntime(15355): java.lang.NullPointerException
E/AndroidRuntime(15355): at com.alexkang.loopboard.MainActivity.refreshRecordings(MainActivity.java:135)
E/AndroidRuntime(15355): at com.alexkang.loopboard.MainActivity.deleteAll(MainActivity.java:215)
E/AndroidRuntime(15355): at com.alexkang.loopboard.MainActivity.onOptionsItemSelected(MainActivity.java:107)
E/AndroidRuntime(15355): at android.app.Activity.onMenuItemSelected(Activity.java:2502)
E/AndroidRuntime(15355): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:950)
E/AndroidRuntime(15355): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/AndroidRuntime(15355): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
E/AndroidRuntime(15355): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
E/AndroidRuntime(15355): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:490)
E/AndroidRuntime(15355): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:108)
E/AndroidRuntime(15355): at android.view.View.performClick(View.java:3511)
E/AndroidRuntime(15355): at android.view.View$PerformClick.run(View.java:14105)
E/AndroidRuntime(15355): at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(15355): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(15355): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(15355): at android.app.ActivityThread.main(ActivityThread.java:4575)
E/AndroidRuntime(15355): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(15355): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(15355): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/AndroidRuntime(15355): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime(15355): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 4256): Force finishing activity com.alexkang.loopboard/.MainActivity
I/WaitForWifiAsyncTask(14715): waiting for an IP address...
I/Process ( 4256): Sending signal. PID: 15355 SIG: 3
I/dalvikvm(15355): threadid=3: reacting to signal 3
W/ActivityManager( 4256): Activity pause timeout for ActivityRecord{40cef8e8 com.alexkang.loopboard/.MainActivity}
I/dalvikvm(15355): Wrote stack traces to '/data/anr/traces.txt'
D/Launcher( 4454): -- loadPreferences()
W/Adreno200-EGLSUB( 4454): SetSwapInterval() interval: 0 not set
I/WaitForWifiAsyncTask(14715): waiting for an IP address...
I/Process (15355): Sending signal. PID: 15355 SIG: 9
V/PhoneStatusBar( 4323): setLightsOn(true)
I/WindowManager( 4256): WIN DEATH: Window{4102afa8 com.alexkang.loopboard/com.alexkang.loopboard.MainActivity paused=false}
I/ActivityManager( 4256): Process com.alexkang.loopboard (pid 15355) has died.
I/WaitForWifiAsyncTask(14715): waiting for an IP address...
I/ActivityManager( 4256): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.jtb.alogcat/.LogActivity bnds=[365,466][475,601]} from pid 4454
D/OpenGLRenderer( 4454): Flushing caches (mode 1)
I/ActivityManager( 4256): Displayed org.jtb.alogcat/.LogActivity: +187ms
D/OpenGLRenderer( 4454): Flushing caches (mode 0)
I/WaitForWifiAsyncTask(14715): waiting for an IP address...
Add a simple Hold -> Make sound -> Release round button to record a sample
text.
when pressing the main button briefly, the app crashes with "Unfortunately, LoopBoard has stopped".
admittedly, that's exactly not what the button tells the user to do, but can happen accidentally or with new users.
this behavior was observed with version 1.4 as packaged in fdroid on a cyanogenmod11 device.
The Sample.stop() method causes the application to crash on my device (HTC One, Android 5.0.2).
Logcat:
02-06 19:49:49.248 15462-15462/com.alexkang.loopboard D/MainActivity﹕ stop all called!
02-06 19:49:49.248 15462-15462/com.alexkang.loopboard D/MainActivity﹕ trying to stop: Sample 0
02-06 19:49:49.249 15462-15462/com.alexkang.loopboard D/Sample﹕ !isImported && audioTrack != null
02-06 19:49:49.249 15462-15462/com.alexkang.loopboard A/AudioTrackShared﹕ static flush
02-06 19:49:49.249 15462-15462/com.alexkang.loopboard A/libc﹕ Fatal signal 6 (SIGABRT), code -6 in tid 15462 (xkang.loopboard)
I've added some logs, since you didn't use any. This should guide us into the right direction..
I think it would be helpful to add compiling instructions, if contributions are accepted that could make it easier to contribute.
In addition to that, maybe some files could be commited to make things easier like a gradle folder, but maybe it's because of the way I'm trying to build it, are you using android studio?
You accidentally checked in the local.properties file.
A quick look into that file should show you, that it's not supposed to be on GitHub.
## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Wed Oct 29 11:30:17 PDT 2014
sdk.dir=/Users/alex/Documents/android-sdk-macosx
"Currently, the application can record sounds through the microphone (or use sounds from internal storage!)" -- but how ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.