├── .classpath ├── .gitignore ├── .project ├── AndroidManifest.xml ├── INSTALL ├── LICENSE ├── README ├── TODO ├── build.xml ├── default.properties ├── libs └── GoogleAdMobAdsSdk-4.0.4.jar ├── proguard.cfg ├── res ├── drawable-hdpi │ └── lame4android_icon.png ├── drawable-ldpi │ └── lame4android_icon.png ├── drawable-mdpi │ └── lame4android_icon.png ├── drawable │ ├── android_about.png │ ├── android_close.png │ ├── android_help.png │ ├── android_settings.png │ ├── ic_launcher_folder.png │ └── lame_logo.gif ├── layout │ └── main.xml ├── menu │ └── menu.xml ├── values │ ├── attrs.xml │ └── strings.xml └── xml │ └── preferences.xml ├── src └── com │ └── intervigil │ └── lame │ ├── Constants.java │ ├── Decoder.java │ ├── Encoder.java │ ├── LameApplication.java │ ├── Main.java │ ├── Preferences.java │ ├── helper │ ├── AdHelper.java │ ├── DialogHelper.java │ └── PreferenceHelper.java │ └── intents │ └── FileManagerIntents.java └── zipalign-apk.sh /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | gen/* 3 | libs/armeabi* 4 | obj/* 5 | keys 6 | market/* 7 | *.apk 8 | *.iws 9 | *.ipr 10 | *.iml 11 | *.wav 12 | *.mp3 13 | local.properties 14 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Lame4Android 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | 35 | liblame_src 36 | 2 37 | _android_liblame_9e569d2/src 38 | 39 | 40 | libwave_src 41 | 2 42 | _android_libwave_9ea6afe/src 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | This project requires: 2 | Android SDK 3 | Android NDK 4 | liblame 5 | 6 | This project does not contain the shared libraries for LAME. 7 | 8 | In order to build them, you must first install the Android NDK from: 9 | http://developer.android.com/sdk/ndk/index.html 10 | Installing the Android NDK is beyond the scope of this INSTALL file. 11 | 12 | LAME shared libraries are contained in the liblame project, available at my 13 | github here: http://github.com/intervigilium/liblame 14 | 15 | This project will need to set up liblame as a referenced library project. 16 | For more information on how to do this, please consult the Android 17 | documentation and developer resources. 18 | 19 | To build the libraries you must go to /path/to/liblame and issue the command: 20 | /path/to/ndk-build 21 | 22 | The NDK builder will compile the shared libraries and place them in the 23 | liblame/libs directory where the builder for Lame4Android can find them 24 | and include them in the final apk. 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Lame4Android is licensed under LGPL 2 | 3 | Copyright (c) 2010 Ethan Chen 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | 20 | LAME is licensed under LGPL 21 | 22 | Copyright (c) 1999-2007 The LAME Project 23 | Copyright (c) 1999-2001 Mark Taylor 24 | Copyright (c) 1998 Micheal Cheng 25 | 26 | This library is free software; you can redistribute it and/or 27 | modify it under the terms of the GNU Lesser General Public 28 | License as published by the Free Software Foundation; either 29 | version 2 of the License, or (at your option) any later version. 30 | 31 | This library is distributed in the hope that it will be useful, 32 | but WITHOUT ANY WARRANTY; without even the implied warranty of 33 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 34 | Lesser General Public License for more details. 35 | 36 | You should have received a copy of the GNU Lesser General Public 37 | License along with this library; if not, write to the Free Software 38 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 39 | 40 | 41 | mpglib is licensed under LGPL 42 | 43 | Copyright (c) 1995-1997 Michael Hipp 44 | 45 | This library is free software; you can redistribute it and/or 46 | modify it under the terms of the GNU Lesser General Public 47 | License as published by the Free Software Foundation; either 48 | version 2 of the License, or (at your option) any later version. 49 | 50 | This library is distributed in the hope that it will be useful, 51 | but WITHOUT ANY WARRANTY; without even the implied warranty of 52 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 53 | Lesser General Public License for more details. 54 | 55 | You should have received a copy of the GNU Lesser General Public 56 | License along with this library; if not, write to the Free Software 57 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This Android application is an Android interface to the liblame project 2 | that contains LAME libraries. Using liblame, this app can encode 3 | and decode MP3 files to/from WAV files. 4 | This project is licensed under LGPLv2, for further licensing information see 5 | the LICENSE file. 6 | 7 | Build Instructions: 8 | Please consult the INSTALL file for instructions on setting up liblame with 9 | this project. 10 | 11 | Known Issues: 12 | Cannot decode to WAVE files yet 13 | 14 | This project uses LAME from http://lame.sourceforge.net/ 15 | by the LAME Project team. 16 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | TODO: 2 | 3 | Handle screen rotation 4 | Add decode functionality 5 | Add layer to read different input file types in Encoder 6 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 27 | 28 | 29 | 33 | 34 | 35 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 50 | 62 | 63 | 64 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /default.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "build.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-10 12 | android.library.reference.1=../liblame/ 13 | #proguard.config=proguard.cfg 14 | android.library.reference.2=../libwave/ 15 | -------------------------------------------------------------------------------- /libs/GoogleAdMobAdsSdk-4.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/libs/GoogleAdMobAdsSdk-4.0.4.jar -------------------------------------------------------------------------------- /proguard.cfg: -------------------------------------------------------------------------------- 1 | -optimizationpasses 5 2 | -dontusemixedcaseclassnames 3 | -dontskipnonpubliclibraryclasses 4 | -dontpreverify 5 | -verbose 6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 7 | 8 | -keep public class * extends android.app.Activity 9 | -keep public class * extends android.app.Application 10 | -keep public class * extends android.app.Service 11 | -keep public class * extends android.content.BroadcastReceiver 12 | -keep public class * extends android.content.ContentProvider 13 | -keep public class com.android.vending.licensing.ILicensingService 14 | 15 | -keepclasseswithmembernames class * { 16 | native ; 17 | } 18 | 19 | -keepclasseswithmembernames class * { 20 | public (android.content.Context, android.util.AttributeSet); 21 | } 22 | 23 | -keepclasseswithmembernames class * { 24 | public (android.content.Context, android.util.AttributeSet, int); 25 | } 26 | 27 | -keepclassmembers enum * { 28 | public static **[] values(); 29 | public static ** valueOf(java.lang.String); 30 | } 31 | 32 | -keep class * implements android.os.Parcelable { 33 | public static final android.os.Parcelable$Creator *; 34 | } 35 | -------------------------------------------------------------------------------- /res/drawable-hdpi/lame4android_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable-hdpi/lame4android_icon.png -------------------------------------------------------------------------------- /res/drawable-ldpi/lame4android_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable-ldpi/lame4android_icon.png -------------------------------------------------------------------------------- /res/drawable-mdpi/lame4android_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable-mdpi/lame4android_icon.png -------------------------------------------------------------------------------- /res/drawable/android_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/android_about.png -------------------------------------------------------------------------------- /res/drawable/android_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/android_close.png -------------------------------------------------------------------------------- /res/drawable/android_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/android_help.png -------------------------------------------------------------------------------- /res/drawable/android_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/android_settings.png -------------------------------------------------------------------------------- /res/drawable/ic_launcher_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/ic_launcher_folder.png -------------------------------------------------------------------------------- /res/drawable/lame_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intervigilium/Lame4Android/851ee228151f8762a2942c3f32c0990b0d7fe8f7/res/drawable/lame_logo.gif -------------------------------------------------------------------------------- /res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 14 | 15 | 18 | 19 | 23 | 24 | 27 | 28 | 29 | 30 | 32 | 33 | 36 | 37 | 41 | 42 | 45 | 46 | 47 | 50 | 51 | 54 | 55 | 57 | 58 | 60 | 61 | 63 | 64 | 66 | 67 | 68 |