Rename package to com.levien.synthesizer

The "com.google" namespace is reserved for official releases, so
renaming to "com.levien".

Also small tweaking to piano2.xml to clean it up for release (arguably
should have been separate commit, but oh well).
master
Raph Levien 12 years ago
parent 6feebefea9
commit 82d602216d
  1. 2
      android/.externalToolBuilders/NDK Builder.launch
  2. 4
      android/.externalToolBuilders/Proto Builder.launch
  3. 28
      android/AndroidManifest.xml
  4. 18
      android/res/layout/amplification.xml
  5. 6
      android/res/layout/chord_grid.xml
  6. 18
      android/res/layout/effects.xml
  7. 18
      android/res/layout/karplus_strong.xml
  8. 18
      android/res/layout/low_pass_filter.xml
  9. 6
      android/res/layout/main.xml
  10. 20
      android/res/layout/oscillator.xml
  11. 8
      android/res/layout/piano.xml
  12. 12
      android/res/layout/piano2.xml
  13. 8
      android/res/layout/score.xml
  14. 20
      android/res/layout/tremolo.xml
  15. 20
      android/res/layout/vibrato.xml
  16. 4
      android/src/com/levien/synthesizer/android/AndroidGlue.java
  17. 4
      android/src/com/levien/synthesizer/android/Storage.java
  18. 8
      android/src/com/levien/synthesizer/android/service/SynthesizerService.java
  19. 6
      android/src/com/levien/synthesizer/android/service/SynthesizerThread.java
  20. 2
      android/src/com/levien/synthesizer/android/stats/JitterStats.java
  21. 12
      android/src/com/levien/synthesizer/android/ui/AmplificationActivity.java
  22. 8
      android/src/com/levien/synthesizer/android/ui/ChordGridActivity.java
  23. 8
      android/src/com/levien/synthesizer/android/ui/EditInstrumentActivity.java
  24. 12
      android/src/com/levien/synthesizer/android/ui/EffectsActivity.java
  25. 6
      android/src/com/levien/synthesizer/android/ui/InstrumentListActivity.java
  26. 12
      android/src/com/levien/synthesizer/android/ui/KarplusStrongActivity.java
  27. 12
      android/src/com/levien/synthesizer/android/ui/LowPassFilterActivity.java
  28. 8
      android/src/com/levien/synthesizer/android/ui/MainActivity.java
  29. 14
      android/src/com/levien/synthesizer/android/ui/OscillatorActivity.java
  30. 12
      android/src/com/levien/synthesizer/android/ui/PianoActivity.java
  31. 21
      android/src/com/levien/synthesizer/android/ui/PianoActivity2.java
  32. 14
      android/src/com/levien/synthesizer/android/ui/ScoreActivity.java
  33. 12
      android/src/com/levien/synthesizer/android/ui/SynthesizerActivity.java
  34. 14
      android/src/com/levien/synthesizer/android/ui/TremoloActivity.java
  35. 14
      android/src/com/levien/synthesizer/android/ui/VibratoActivity.java
  36. 10
      android/src/com/levien/synthesizer/android/widgets/ChordGridView.java
  37. 2
      android/src/com/levien/synthesizer/android/widgets/knob/KnobListener.java
  38. 2
      android/src/com/levien/synthesizer/android/widgets/knob/KnobPlaceholderView.java
  39. 10
      android/src/com/levien/synthesizer/android/widgets/knob/KnobView.java
  40. 6
      android/src/com/levien/synthesizer/android/widgets/piano/BlackPianoKey.java
  41. 4
      android/src/com/levien/synthesizer/android/widgets/piano/NotePianoKey.java
  42. 4
      android/src/com/levien/synthesizer/android/widgets/piano/OctavePianoKey.java
  43. 6
      android/src/com/levien/synthesizer/android/widgets/piano/PianoKey.java
  44. 15
      android/src/com/levien/synthesizer/android/widgets/piano/PianoView.java
  45. 4
      android/src/com/levien/synthesizer/android/widgets/piano/PianoViewListener.java
  46. 6
      android/src/com/levien/synthesizer/android/widgets/piano/WhitePianoKey.java
  47. 6
      android/src/com/levien/synthesizer/android/widgets/score/EditEventTool.java
  48. 4
      android/src/com/levien/synthesizer/android/widgets/score/HideChannelButton.java
  49. 6
      android/src/com/levien/synthesizer/android/widgets/score/NewEventTool.java
  50. 6
      android/src/com/levien/synthesizer/android/widgets/score/NewLoopTool.java
  51. 8
      android/src/com/levien/synthesizer/android/widgets/score/PlayButton.java
  52. 6
      android/src/com/levien/synthesizer/android/widgets/score/PlayTool.java
  53. 12
      android/src/com/levien/synthesizer/android/widgets/score/ScoreView.java
  54. 2
      android/src/com/levien/synthesizer/android/widgets/score/ScoreViewListener.java
  55. 4
      android/src/com/levien/synthesizer/android/widgets/score/ScoreViewTool.java
  56. 4
      android/src/com/levien/synthesizer/android/widgets/score/ScoreViewToolbar.java
  57. 2
      android/src/com/levien/synthesizer/android/widgets/score/SelectChannelButton.java
  58. 4
      android/src/com/levien/synthesizer/android/widgets/score/SnapTool.java
  59. 4
      android/src/com/levien/synthesizer/android/widgets/score/ViewportTool.java
  60. 2
      android/src/com/levien/synthesizer/android/widgets/waveform/WaveformListener.java
  61. 6
      android/src/com/levien/synthesizer/android/widgets/waveform/WaveformRowView.java
  62. 10
      android/src/com/levien/synthesizer/android/widgets/waveform/WaveformView.java
  63. 2
      core/src/com/levien/synthesizer/core/midi/MessageInputProcessor.java
  64. 2
      core/src/com/levien/synthesizer/core/midi/MessageOutputProcessor.java
  65. 2
      core/src/com/levien/synthesizer/core/midi/MidiAdapter.java
  66. 2
      core/src/com/levien/synthesizer/core/midi/MidiChannelFilter.java
  67. 2
      core/src/com/levien/synthesizer/core/midi/MidiEvent.java
  68. 2
      core/src/com/levien/synthesizer/core/midi/MidiFile.java
  69. 2
      core/src/com/levien/synthesizer/core/midi/MidiFilePlayer.java
  70. 4
      core/src/com/levien/synthesizer/core/midi/MidiHeader.java
  71. 2
      core/src/com/levien/synthesizer/core/midi/MidiListener.java
  72. 2
      core/src/com/levien/synthesizer/core/midi/MidiListenerProxy.java
  73. 2
      core/src/com/levien/synthesizer/core/midi/MidiReader.java
  74. 2
      core/src/com/levien/synthesizer/core/midi/MidiTrack.java
  75. 2
      core/src/com/levien/synthesizer/core/midi/MidiUtil.java
  76. 2
      core/src/com/levien/synthesizer/core/model/CachedFrequencyProvider.java
  77. 2
      core/src/com/levien/synthesizer/core/model/CachedSignalProvider.java
  78. 2
      core/src/com/levien/synthesizer/core/model/Envelope.java
  79. 2
      core/src/com/levien/synthesizer/core/model/FrequencyProvider.java
  80. 2
      core/src/com/levien/synthesizer/core/model/SignalProvider.java
  81. 2
      core/src/com/levien/synthesizer/core/model/SynthesisTime.java
  82. 2
      core/src/com/levien/synthesizer/core/model/SynthesizerInput.java
  83. 2
      core/src/com/levien/synthesizer/core/model/WaveformInput.java
  84. 8
      core/src/com/levien/synthesizer/core/model/composite/MidiSynthesizer.java
  85. 16
      core/src/com/levien/synthesizer/core/model/composite/MultiChannelSynthesizer.java
  86. 50
      core/src/com/levien/synthesizer/core/model/composite/MultiTouchSynthesizer.java
  87. 2
      core/src/com/levien/synthesizer/core/model/composite/Presets.proto
  88. 10
      core/src/com/levien/synthesizer/core/model/modules/AdsrEnvelope.java
  89. 6
      core/src/com/levien/synthesizer/core/model/modules/Amplifier.java
  90. 8
      core/src/com/levien/synthesizer/core/model/modules/Delay.java
  91. 8
      core/src/com/levien/synthesizer/core/model/modules/Echo.java
  92. 10
      core/src/com/levien/synthesizer/core/model/modules/Glide.java
  93. 8
      core/src/com/levien/synthesizer/core/model/modules/LowPassFilter.java
  94. 6
      core/src/com/levien/synthesizer/core/model/modules/Mixer.java
  95. 6
      core/src/com/levien/synthesizer/core/model/modules/Tremolo.java
  96. 8
      core/src/com/levien/synthesizer/core/model/modules/Tuner.java
  97. 20
      core/src/com/levien/synthesizer/core/model/modules/WaveformSelector.java
  98. 8
      core/src/com/levien/synthesizer/core/model/oscillator/DrawbarOrgan.java
  99. 10
      core/src/com/levien/synthesizer/core/model/oscillator/KarplusStrong.java
  100. 6
      core/src/com/levien/synthesizer/core/model/oscillator/Noise.java
  101. Some files were not shown because too many files have changed in this diff Show More

@ -3,7 +3,7 @@
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/libs&quot; type=&quot;2&quot;/&gt;&#10;&lt;/resources&gt;}"/> <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/libs&quot; type=&quot;2&quot;/&gt;&#10;&lt;/resources&gt;}"/>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/jni&quot; type=&quot;2&quot;/&gt;&#10;&lt;/resources&gt;}"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/jni&quot; type=&quot;2&quot;/&gt;&#10;&lt;/resources&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_property:user.home}/install/android-ndk-r7b/ndk-build"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_property:user.home}/dl/android-ndk-r8d/ndk-build"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/>

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"> <launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/google/synthesizer/core/model/composite/Presets.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/google/synthesizer/core/model/sample/Proto.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/google/synthesizer/core/music/Music.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;/resources&gt;}"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/levien/synthesizer/core/model/composite/Presets.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/levien/synthesizer/core/model/sample/Proto.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;item path=&quot;/MusicSynthesizer/core/com/levien/synthesizer/core/music/Music.proto&quot; type=&quot;1&quot;/&gt;&#10;&lt;/resources&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${project_loc}/../core/bin/protoc"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${project_loc}/../core/bin/protoc"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="--java_out=../core/gen src/com/google/synthesizer/core/model/composite/Presets.proto src/com/google/synthesizer/core/music/Music.proto"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="--java_out=../core/gen src/com/levien/synthesizer/core/model/composite/Presets.proto src/com/levien/synthesizer/core/music/Music.proto"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}/../core"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}/../core"/>
</launchConfiguration> </launchConfiguration>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest <manifest
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.synthesizer" package="com.levien.synthesizer"
android:versionCode="2" android:versionCode="2"
android:versionName="0.9"> android:versionName="0.9">
<uses-sdk android:minSdkVersion="9" <uses-sdk android:minSdkVersion="9"
@ -11,7 +11,7 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:icon="@drawable/icon" android:label="@string/app_name"> <application android:icon="@drawable/icon" android:label="@string/app_name">
<activity <activity
android:name=".android.ui.PianoActivity2" android:name="com.levien.synthesizer.android.ui.PianoActivity2"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="landscape"> android:screenOrientation="landscape">
<intent-filter> <intent-filter>
@ -25,51 +25,51 @@
android:resource="@xml/device_filter" /> android:resource="@xml/device_filter" />
</activity> </activity>
<activity <activity
android:name=".android.ui.MainActivity" android:name="com.levien.synthesizer.android.ui.MainActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.ScoreActivity" android:name="com.levien.synthesizer.android.ui.ScoreActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.ChordGridActivity" android:name="com.levien.synthesizer.android.ui.ChordGridActivity"
android:label="@string/chord_grid" android:label="@string/chord_grid"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name=".android.ui.InstrumentListActivity" android:name="com.levien.synthesizer.android.ui.InstrumentListActivity"
android:label="@string/instrument_list" android:label="@string/instrument_list"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.EditInstrumentActivity" android:name="com.levien.synthesizer.android.ui.EditInstrumentActivity"
android:label="@string/edit_instrument" android:label="@string/edit_instrument"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.VibratoActivity" android:name="com.levien.synthesizer.android.ui.VibratoActivity"
android:label="@string/vibrato" android:label="@string/vibrato"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.OscillatorActivity" android:name="com.levien.synthesizer.android.ui.OscillatorActivity"
android:label="@string/oscillator" android:label="@string/oscillator"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.TremoloActivity" android:name="com.levien.synthesizer.android.ui.TremoloActivity"
android:label="@string/tremolo" android:label="@string/tremolo"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.LowPassFilterActivity" android:name="com.levien.synthesizer.android.ui.LowPassFilterActivity"
android:label="@string/low_pass_filter" android:label="@string/low_pass_filter"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.AmplificationActivity" android:name="com.levien.synthesizer.android.ui.AmplificationActivity"
android:label="@string/amplification" android:label="@string/amplification"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.EffectsActivity" android:name="com.levien.synthesizer.android.ui.EffectsActivity"
android:label="@string/effects" android:label="@string/effects"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".android.ui.KarplusStrongActivity" android:name="com.levien.synthesizer.android.ui.KarplusStrongActivity"
android:label="@string/karplus_strong" android:label="@string/karplus_strong"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<!-- Don't need the service if we're running native sound engine <!-- Don't need the service if we're running native sound engine

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,30 +34,30 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/attackKnob" android:id="@+id/attackKnob"
app:value="0.0" app:value="0.0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/decayKnob" android:id="@+id/decayKnob"
app:value="0.0" app:value="0.0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/sustainKnob" android:id="@+id/sustainKnob"
app:value="1.0" app:value="1.0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/releaseKnob" android:id="@+id/releaseKnob"
app:value="0.0" app:value="0.0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/emptyKnob" android:id="@+id/emptyKnob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/volumeKnob" android:id="@+id/volumeKnob"
app:value="1.0" app:value="1.0"
app:min="0.0" app:min="0.0"
@ -69,7 +69,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -78,4 +78,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -22,11 +22,11 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.ChordGridView <com.levien.synthesizer.android.widgets.ChordGridView
android:id="@+id/chord_grid" android:id="@+id/chord_grid"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"/> android:layout_weight="1"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,28 +34,28 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/echoMixKnob" android:id="@+id/echoMixKnob"
app:value="0.0" app:value="0.0"
app:min="0.0" app:min="0.0"
app:max="1.0" app:max="1.0"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/echoDelayKnob" android:id="@+id/echoDelayKnob"
app:value="0.5" app:value="0.5"
app:min="0.1" app:min="0.1"
app:max="2.0" app:max="2.0"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty1Knob" android:id="@+id/empty1Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty2Knob" android:id="@+id/empty2Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty3Knob" android:id="@+id/empty3Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty4Knob" android:id="@+id/empty4Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
</TableRow> </TableRow>
@ -64,7 +64,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -73,4 +73,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,31 +34,31 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/blendKnob" android:id="@+id/blendKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/stretchKnob" android:id="@+id/stretchKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/excitementKnob" android:id="@+id/excitementKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty1Knob" android:id="@+id/empty1Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty2Knob" android:id="@+id/empty2Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty3Knob" android:id="@+id/empty3Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
</TableRow> </TableRow>
@ -67,7 +67,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -76,4 +76,4 @@
app:first_octave="4" /> app:first_octave="4" />
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,37 +34,37 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/cutoffKnob" android:id="@+id/cutoffKnob"
app:value="1" app:value="1"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/depthKnob" android:id="@+id/depthKnob"
app:value="0" app:value="0"
app:min="-1" app:min="-1"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/attackKnob" android:id="@+id/attackKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/decayKnob" android:id="@+id/decayKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/sustainKnob" android:id="@+id/sustainKnob"
app:value="1.0" app:value="1.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/releaseKnob" android:id="@+id/releaseKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
@ -76,7 +76,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -85,4 +85,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -33,7 +33,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -42,4 +42,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,34 +34,34 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/glideKnob" android:id="@+id/glideKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/coarseKnob" android:id="@+id/coarseKnob"
app:value="0.0" app:value="0.0"
app:min="-1.0" app:min="-1.0"
app:max="1.0" app:max="1.0"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/fineKnob" android:id="@+id/fineKnob"
app:value="0.0" app:value="0.0"
app:min="-0.0833333333" app:min="-0.0833333333"
app:max="0.0833333333" app:max="0.0833333333"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/vibratoDepthKnob" android:id="@+id/vibratoDepthKnob"
app:value="0" app:value="0"
app:min="0" app:min="0"
app:max="0.1666666667" app:max="0.1666666667"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/empty1Knob" android:id="@+id/empty1Knob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/balanceKnob" android:id="@+id/balanceKnob"
app:value="0" app:value="0"
app:min="0" app:min="0"
@ -73,12 +73,12 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.waveform.WaveformRowView <com.levien.synthesizer.android.widgets.waveform.WaveformRowView
android:id="@+id/waveform" android:id="@+id/waveform"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" /> android:layout_weight="1" />
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -87,4 +87,4 @@
app:first_octave="4" /> app:first_octave="4" />
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,7 +34,7 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/volumeKnob" android:id="@+id/volumeKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
@ -51,7 +51,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -60,4 +60,4 @@
app:first_octave="4" /> app:first_octave="4" />
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -10,10 +10,12 @@
<TableRow> <TableRow>
<TextView <TextView
android:text="@string/cutoff" android:text="@string/cutoff"
android:width="30sp"
android:id="@+id/cutoffLabel" android:id="@+id/cutoffLabel"
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
<TextView <TextView
android:text="@+string/resonance" android:text="@+string/resonance"
android:width="30sp"
android:id="@+id/resonanceLabel" android:id="@+id/resonanceLabel"
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
<TextView <TextView
@ -30,13 +32,13 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/cutoffKnob" android:id="@+id/cutoffKnob"
app:value="1.0" app:value="1.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2dp" /> android:layout_margin="2dp" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/resonanceKnob" android:id="@+id/resonanceKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
@ -52,10 +54,12 @@
/> />
<TextView <TextView
android:id="@+id/status" android:id="@+id/status"
android:visibility="invisible"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> />
<Button <Button
android:visibility="invisible"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/capture" android:id="@+id/capture"
@ -74,7 +78,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -12,18 +12,18 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.score.ScoreView <com.levien.synthesizer.android.widgets.score.ScoreView
android:id="@+id/score" android:id="@+id/score"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
app:octaves="2" app:octaves="2"
app:first_octave="4" /> app:first_octave="4" />
<com.google.synthesizer.android.widgets.score.ScoreViewToolbar <com.levien.synthesizer.android.widgets.score.ScoreViewToolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" /> android:layout_weight="1" />
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,37 +34,37 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/rateKnob" android:id="@+id/rateKnob"
app:value="0" app:value="0"
app:min="0" app:min="0"
app:max="10" app:max="10"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/depthKnob" android:id="@+id/depthKnob"
app:value="0" app:value="0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/attackKnob" android:id="@+id/attackKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/decayKnob" android:id="@+id/decayKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/sustainKnob" android:id="@+id/sustainKnob"
app:value="1.0" app:value="1.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/releaseKnob" android:id="@+id/releaseKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
@ -76,12 +76,12 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.waveform.WaveformRowView <com.levien.synthesizer.android.widgets.waveform.WaveformRowView
android:id="@+id/waveform" android:id="@+id/waveform"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"/> android:layout_weight="1"/>
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -90,4 +90,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TableLayout <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.google.synthesizer" xmlns:app="http://schemas.android.com/apk/res/com.levien.synthesizer"
android:id="@+id/TableLayout01" android:id="@+id/TableLayout01"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
@ -34,34 +34,34 @@
android:gravity="center_horizontal" /> android:gravity="center_horizontal" />
</TableRow> </TableRow>
<TableRow> <TableRow>
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/rateKnob" android:id="@+id/rateKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="10" app:max="10"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobPlaceholderView <com.levien.synthesizer.android.widgets.knob.KnobPlaceholderView
android:id="@+id/depthKnob" android:id="@+id/depthKnob"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/attackKnob" android:id="@+id/attackKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/decayKnob" android:id="@+id/decayKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
app:max="5" app:max="5"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/sustainKnob" android:id="@+id/sustainKnob"
app:value="1.0" app:value="1.0"
app:min="0" app:min="0"
app:max="1" app:max="1"
android:layout_margin="2px" /> android:layout_margin="2px" />
<com.google.synthesizer.android.widgets.knob.KnobView <com.levien.synthesizer.android.widgets.knob.KnobView
android:id="@+id/releaseKnob" android:id="@+id/releaseKnob"
app:value="0.0" app:value="0.0"
app:min="0" app:min="0"
@ -73,12 +73,12 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_span="6" android:layout_span="6"
android:orientation="vertical"> android:orientation="vertical">
<com.google.synthesizer.android.widgets.waveform.WaveformRowView <com.levien.synthesizer.android.widgets.waveform.WaveformRowView
android:id="@+id/waveform" android:id="@+id/waveform"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"/> android:layout_weight="1"/>
<com.google.synthesizer.android.widgets.piano.PianoView <com.levien.synthesizer.android.widgets.piano.PianoView
android:id="@+id/piano" android:id="@+id/piano"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -87,4 +87,4 @@
app:first_octave="4"/> app:first_octave="4"/>
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

@ -1,6 +1,6 @@
package com.google.synthesizer.android; package com.levien.synthesizer.android;
import com.google.synthesizer.core.midi.MessageOutputProcessor; import com.levien.synthesizer.core.midi.MessageOutputProcessor;
/** /**
* JNI container for connecting to C++ synth engine. The actual implementation is in the cpp/src * JNI container for connecting to C++ synth engine. The actual implementation is in the cpp/src

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android; package com.levien.synthesizer.android;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -31,7 +31,7 @@ import android.os.Environment;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import com.google.synthesizer.core.music.Music.Score; import com.levien.synthesizer.core.music.Music.Score;
/** /**
* A collection of functions for storing and retrieving scores. * A collection of functions for storing and retrieving scores.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.service; package com.levien.synthesizer.android.service;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -29,9 +29,9 @@ import android.os.Binder;
import android.os.IBinder; import android.os.IBinder;
import android.util.Log; import android.util.Log;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.soundfont.SoundFontReader; import com.levien.synthesizer.core.soundfont.SoundFontReader;
/** /**
* An Android Service that plays audio from a synthesizer. * An Android Service that plays audio from a synthesizer.

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.service; package com.levien.synthesizer.android.service;
import android.media.AudioFormat; import android.media.AudioFormat;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.AudioTrack; import android.media.AudioTrack;
import android.util.Log; import android.util.Log;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
/** /**
* SynthesizerThread is a thread-safe interface to a thread that constantly plays sampled audio data * SynthesizerThread is a thread-safe interface to a thread that constantly plays sampled audio data

@ -1,4 +1,4 @@
package com.google.synthesizer.android.stats; package com.levien.synthesizer.android.stats;
import android.util.Log; import android.util.Log;

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for modifying amplification/adsr envelope. * Activity for modifying amplification/adsr envelope.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.util.ArrayList; import java.util.ArrayList;
@ -25,9 +25,9 @@ import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Spinner; import android.widget.Spinner;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.ChordGridView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.ChordGridView;
/** /**
* Activity for playing whole chords at a time, arranged in a circle of fifths. * Activity for playing whole chords at a time, arranged in a circle of fifths.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.app.ListActivity; import android.app.ListActivity;
import android.content.ComponentName; import android.content.ComponentName;
@ -27,9 +27,9 @@ import android.view.View;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ListView; import android.widget.ListView;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.service.SynthesizerService; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.service.SynthesizerService;
/** /**
* An Activity to let the user choose a subset of a presets settings in order to edit them. * An Activity to let the user choose a subset of a presets settings in order to edit them.

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for modifying effects like echo. * Activity for modifying effects like echo.

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.util.ArrayList; import java.util.ArrayList;
import com.google.synthesizer.android.service.SynthesizerService; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.service.SynthesizerService;
import android.app.ListActivity; import android.app.ListActivity;
import android.content.ComponentName; import android.content.ComponentName;

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for modifying Karplus-Strong parameters. * Activity for modifying Karplus-Strong parameters.

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for modifying low-pass filter settings. * Activity for modifying low-pass filter settings.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.util.ArrayList; import java.util.ArrayList;
@ -27,9 +27,9 @@ import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.Spinner; import android.widget.Spinner;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.piano.PianoView;
// TODO(klimt): Add the ability to switch channels. // TODO(klimt): Add the ability to switch channels.

@ -14,15 +14,15 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.android.widgets.waveform.WaveformRowView; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.piano.PianoView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.waveform.WaveformRowView;
/** /**
* Activity for modifying oscillator parameters. * Activity for modifying oscillator parameters.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.util.ArrayList; import java.util.ArrayList;
@ -25,11 +25,11 @@ import android.widget.ArrayAdapter;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView.OnItemSelectedListener;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for simply playing the piano. * Activity for simply playing the piano.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -35,9 +35,10 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.util.Log; import android.util.Log;
import android.view.Menu;
import android.view.View; import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
@ -45,12 +46,12 @@ import android.widget.Button;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.AndroidGlue; import com.levien.synthesizer.android.AndroidGlue;
import com.google.synthesizer.android.stats.JitterStats; import com.levien.synthesizer.android.stats.JitterStats;
import com.google.synthesizer.android.widgets.knob.KnobListener; import com.levien.synthesizer.android.widgets.knob.KnobListener;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.android.widgets.piano.PianoView;
/** /**
* Activity for simply playing the piano. * Activity for simply playing the piano.
@ -70,14 +71,12 @@ public class PianoActivity2 extends Activity {
resonanceKnob_ = (KnobView)findViewById(R.id.resonanceKnob); resonanceKnob_ = (KnobView)findViewById(R.id.resonanceKnob);
presetSpinner_ = (Spinner)findViewById(R.id.presetSpinner); presetSpinner_ = (Spinner)findViewById(R.id.presetSpinner);
AudioParams params = new AudioParams(44100, 384); AudioParams params = new AudioParams(44100, 64);
// TODO: for pre-JB-MR1 devices, do some matching against known devices to // TODO: for pre-JB-MR1 devices, do some matching against known devices to
// get best audio parameters. // get best audio parameters.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
getJbMr1Params(params); getJbMr1Params(params);
} }
//params.sampleRate = 44100;
//params.bufferSize = 976;
androidGlue_ = new AndroidGlue(); androidGlue_ = new AndroidGlue();
androidGlue_.start(params.sampleRate, params.bufferSize); androidGlue_.start(params.sampleRate, params.bufferSize);

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import java.io.IOException; import java.io.IOException;
import java.util.logging.Level; import java.util.logging.Level;
@ -28,12 +28,12 @@ import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.Storage; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.score.ScoreView; import com.levien.synthesizer.core.music.Music.Score.Builder;
import com.google.synthesizer.android.widgets.score.ScoreViewToolbar; import com.levien.synthesizer.android.Storage;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.score.ScoreView;
import com.google.synthesizer.core.music.Music.Score.Builder; import com.levien.synthesizer.android.widgets.score.ScoreViewToolbar;
/** /**
* An Activity for editing or playing a score. * An Activity for editing or playing a score.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.app.Activity; import android.app.Activity;
import android.content.ComponentName; import android.content.ComponentName;
@ -27,10 +27,10 @@ import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.service.SynthesizerService; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.service.SynthesizerService;
/** /**
* A base class for any Android Activity that wants to interact with the SynthesizerService. * A base class for any Android Activity that wants to interact with the SynthesizerService.
@ -46,7 +46,7 @@ public abstract class SynthesizerActivity extends Activity {
* @param path - The absolute path of the component. * @param path - The absolute path of the component.
*/ */
public static Uri makeUri(int channel, Setting... settings) { public static Uri makeUri(int channel, Setting... settings) {
StringBuilder uri = new StringBuilder("content://com.google.synthesizer/" + channel + "/"); StringBuilder uri = new StringBuilder("content://com.levien.synthesizer/" + channel + "/");
boolean first = true; boolean first = true;
for (Setting setting : settings) { for (Setting setting : settings) {
if (!first) { if (!first) {

@ -14,15 +14,15 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.android.widgets.waveform.WaveformRowView; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.piano.PianoView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.waveform.WaveformRowView;
/** /**
* Activity for modifying tremolo. * Activity for modifying tremolo.

@ -14,15 +14,15 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.ui; package com.levien.synthesizer.android.ui;
import android.os.Bundle; import android.os.Bundle;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.knob.KnobView; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.android.widgets.piano.PianoView; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.android.widgets.waveform.WaveformRowView; import com.levien.synthesizer.android.widgets.knob.KnobView;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.android.widgets.piano.PianoView;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.android.widgets.waveform.WaveformRowView;
/** /**
* Activity for modifying vibrato. * Activity for modifying vibrato.

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets; package com.levien.synthesizer.android.widgets;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.android.widgets.piano.PianoViewListener; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.music.Note;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.android.widgets.piano.PianoViewListener;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.knob; package com.levien.synthesizer.android.widgets.knob;
/** /**
* KnobListener is an interface for getting events when a KnobView's value changes. * KnobListener is an interface for getting events when a KnobView's value changes.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.knob; package com.levien.synthesizer.android.widgets.knob;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.knob; package com.levien.synthesizer.android.widgets.knob;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
@ -34,10 +34,10 @@ import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.model.SynthesizerInput; import com.levien.synthesizer.core.model.SynthesizerInput;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.core.model.composite.Presets.Setting;
/** /**
* KnobView is a widget for setting a real value by turning a virtual "knob". * KnobView is a widget for setting a real value by turning a virtual "knob".

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Rect; import android.graphics.Rect;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
/** /**
* One of the black (non-natural) keys on the piano. * One of the black (non-natural) keys on the piano.
@ -92,4 +92,4 @@ public class BlackPianoKey extends NotePianoKey {
protected static int getBlackKeyHeight(Rect drawingRect) { protected static int getBlackKeyHeight(Rect drawingRect) {
return getWhiteKeyHeight(drawingRect) / 2; return getWhiteKeyHeight(drawingRect) / 2;
} }
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
/** /**
@ -49,4 +49,4 @@ public abstract class NotePianoKey extends PianoKey {
// Offset of the key from the start of the octave. // Offset of the key from the start of the octave.
protected int key_; protected int key_;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
import android.graphics.Canvas; import android.graphics.Canvas;
@ -108,4 +108,4 @@ public class OctavePianoKey extends PianoKey {
// How the octave should change when this key is pressed. // How the octave should change when this key is pressed.
private int delta_; private int delta_;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
@ -22,7 +22,7 @@ import android.graphics.Paint;
import android.graphics.Rect; import android.graphics.Rect;
import android.util.Log; import android.util.Log;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
/** /**
* PianoKey is the abstract base class for any key on the piano. * PianoKey is the abstract base class for any key on the piano.
@ -174,4 +174,4 @@ public abstract class PianoKey {
Note.C, Note.D, Note.E, Note.F, Note.G, Note.A, Note.B }; Note.C, Note.D, Note.E, Note.F, Note.G, Note.A, Note.B };
protected static final int BLACK_KEYS[] = { protected static final int BLACK_KEYS[] = {
Note.C_SHARP, Note.E_FLAT, Note.NONE, Note.F_SHARP, Note.A_FLAT, Note.B_FLAT, Note.NONE }; Note.C_SHARP, Note.E_FLAT, Note.NONE, Note.F_SHARP, Note.A_FLAT, Note.B_FLAT, Note.NONE };
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -27,10 +27,10 @@ import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.midi.MidiListener; import com.levien.synthesizer.core.midi.MidiListener;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
/** /**
* PianoView is a UI widget that simulates a music keyboard. * PianoView is a UI widget that simulates a music keyboard.
@ -165,6 +165,9 @@ public class PianoView extends View {
redraw |= keys_[i].onTouchUp(finger); redraw |= keys_[i].onTouchUp(finger);
} }
} }
if (!usePressure_) {
pressure = 0.5f;
}
if (keyDown instanceof NotePianoKey) { if (keyDown instanceof NotePianoKey) {
notifyNoteDown(((NotePianoKey)keyDown).getLogFrequency(), finger, true, pressure); notifyNoteDown(((NotePianoKey)keyDown).getLogFrequency(), finger, true, pressure);
} }
@ -413,5 +416,5 @@ public class PianoView extends View {
protected static final int FINGERS = 5; protected static final int FINGERS = 5;
// Whether to use pressure (doesn't work well on all hardware) // Whether to use pressure (doesn't work well on all hardware)
private boolean usePressure_ = true; private boolean usePressure_ = false;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
// Simple interface for listening to piano widget events. // Simple interface for listening to piano widget events.
public interface PianoViewListener { public interface PianoViewListener {
@ -29,4 +29,4 @@ public interface PianoViewListener {
* The note was released. * The note was released.
*/ */
void noteUp(int finger); void noteUp(int finger);
} }

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.piano; package com.levien.synthesizer.android.widgets.piano;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Rect; import android.graphics.Rect;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
/** /**
* A white key on the piano. * A white key on the piano.
@ -69,4 +69,4 @@ public class WhitePianoKey extends NotePianoKey {
canvas.drawRect(rect_, fillPaint_); canvas.drawRect(rect_, fillPaint_);
canvas.drawRect(rect_, strokePaint_); canvas.drawRect(rect_, strokePaint_);
} }
} }

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.music.Music.Event; import com.levien.synthesizer.core.music.Music.Event;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.music.Music.Event; import com.levien.synthesizer.core.music.Music.Event;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.music.Music.Event; import com.levien.synthesizer.core.music.Music.Event;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.music.ScorePlayer; import com.levien.synthesizer.core.music.ScorePlayer;
import com.google.synthesizer.core.music.ScorePlayerListener; import com.levien.synthesizer.core.music.ScorePlayerListener;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,15 +14,15 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.music.Music.Event; import com.levien.synthesizer.core.music.Music.Event;
import com.google.synthesizer.core.music.Music.Score; import com.levien.synthesizer.core.music.Music.Score;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
/** /**
* A listener for events happening in a ScoreView. * A listener for events happening in a ScoreView.

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import com.google.synthesizer.core.music.Music.Event; import com.levien.synthesizer.core.music.Music.Event;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Rect; import android.graphics.Rect;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
@ -219,4 +219,4 @@ public class ScoreViewToolbar extends View implements ScoreViewListener {
// The rect that each tool occupied the last time it was drawn. // The rect that each tool occupied the last time it was drawn.
private Rect[] toolRect_; private Rect[] toolRect_;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import java.util.logging.Logger; import java.util.logging.Logger;

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.score; package com.levien.synthesizer.android.widgets.score;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.synthesizer.R; import com.levien.synthesizer.R;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.waveform; package com.levien.synthesizer.android.widgets.waveform;
/** /**
* WaveformListener is an interface for getting events when a WaveformView's value changes. * WaveformListener is an interface for getting events when a WaveformView's value changes.

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.waveform; package com.levien.synthesizer.android.widgets.waveform;
import com.google.synthesizer.core.model.WaveformInput; import com.levien.synthesizer.core.model.WaveformInput;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
@ -164,4 +164,4 @@ public class WaveformRowView extends WaveformView {
setMeasuredDimension(width, height); setMeasuredDimension(width, height);
} }
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.android.widgets.waveform; package com.levien.synthesizer.android.widgets.waveform;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
@ -26,9 +26,9 @@ import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import com.google.synthesizer.core.model.WaveformInput; import com.levien.synthesizer.core.model.WaveformInput;
import com.google.synthesizer.core.model.composite.MultiChannelSynthesizer; import com.levien.synthesizer.core.model.composite.MultiChannelSynthesizer;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.core.model.composite.Presets.Setting;
/** /**
* WaveformView is a control for selecting from among available waveforms. * WaveformView is a control for selecting from among available waveforms.
@ -467,4 +467,4 @@ public class WaveformView extends View {
// Object listening for events when the knob's value changes. // Object listening for events when the knob's value changes.
private WaveformListener listener_; private WaveformListener listener_;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
/** /**
* An implementation of MidiListener with stub implementations so that clients don't have to handle * An implementation of MidiListener with stub implementations so that clients don't have to handle

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
/** /**
* A MidiChannelFilter is like a MidiListenerProxy, but only passes messages for a given channel. * A MidiChannelFilter is like a MidiListenerProxy, but only passes messages for a given channel.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
/** /**
* A MidiEvent is the combination of a midi message and a time offset. The message is represented * A MidiEvent is the combination of a midi message and a time offset. The message is represented

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.util.EnumSet; import java.util.EnumSet;
@ -134,4 +134,4 @@ public class MidiHeader {
private int ticksPerBeat_; private int ticksPerBeat_;
private int framesPerSecond_; private int framesPerSecond_;
private int ticksPerFrame_; private int ticksPerFrame_;
} }

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
/** /**
* An interface for listening for any kind of midi event. * An interface for listening for any kind of midi event.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
/** /**
* A MidiListenerProxy is a MidiListener implementation that just passes all the events on to * A MidiListenerProxy is a MidiListener implementation that just passes all the events on to

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.midi; package com.levien.synthesizer.core.midi;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* Convenient base class for any module that only wants to compute a new log frequency once at each * Convenient base class for any module that only wants to compute a new log frequency once at each

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* Convenient base class for any module that only wants to compute a new signal value once at each * Convenient base class for any module that only wants to compute a new signal value once at each

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* An interface for any module that shapes a sound based on something like keyboard keys being * An interface for any module that shapes a sound based on something like keyboard keys being

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* An interface for modules that produce some frequency value. * An interface for modules that produce some frequency value.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* An interface for any module that provides a signal, typically in the range [-1, 1]. * An interface for any module that provides a signal, typically in the range [-1, 1].

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* A simple counter to keep track of the logical time in synthesis. * A simple counter to keep track of the logical time in synthesis.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
/** /**
* SynthesizerInput provides a frequency or signal that doesn't inherently change over time. * SynthesizerInput provides a frequency or signal that doesn't inherently change over time.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model; package com.levien.synthesizer.core.model;
import java.util.ArrayList; import java.util.ArrayList;

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.composite; package com.levien.synthesizer.core.model.composite;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.music.Note; import com.levien.synthesizer.core.music.Note;
import com.google.synthesizer.core.soundfont.SoundFontReader; import com.levien.synthesizer.core.soundfont.SoundFontReader;
/** /**
* MidiSynthesizer is a wrapper around MultiTouchSynthesizer that allows it to accept Midi input in * MidiSynthesizer is a wrapper around MultiTouchSynthesizer that allows it to accept Midi input in

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.composite; package com.levien.synthesizer.core.model.composite;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -23,13 +23,13 @@ import java.util.ArrayList;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.protobuf.TextFormat; import com.google.protobuf.TextFormat;
import com.google.synthesizer.core.midi.MidiAdapter; import com.levien.synthesizer.core.midi.MidiAdapter;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
import com.google.synthesizer.core.model.SynthesizerInput; import com.levien.synthesizer.core.model.SynthesizerInput;
import com.google.synthesizer.core.model.composite.Presets.PresetLibrary; import com.levien.synthesizer.core.model.composite.Presets.PresetLibrary;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.soundfont.SoundFontReader; import com.levien.synthesizer.core.soundfont.SoundFontReader;
/** /**
* MultiChannelSynthesizer is an array of MidiSynthesizer. * MultiChannelSynthesizer is an array of MidiSynthesizer.

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.composite; package com.levien.synthesizer.core.model.composite;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -22,30 +22,30 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.google.synthesizer.core.model.CachedSignalProvider; import com.levien.synthesizer.core.model.CachedSignalProvider;
import com.google.synthesizer.core.model.Envelope; import com.levien.synthesizer.core.model.Envelope;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
import com.google.synthesizer.core.model.SynthesizerInput; import com.levien.synthesizer.core.model.SynthesizerInput;
import com.google.synthesizer.core.model.WaveformInput; import com.levien.synthesizer.core.model.WaveformInput;
import com.google.synthesizer.core.model.composite.Presets.Preset; import com.levien.synthesizer.core.model.composite.Presets.Preset;
import com.google.synthesizer.core.model.composite.Presets.PresetLibrary; import com.levien.synthesizer.core.model.composite.Presets.PresetLibrary;
import com.google.synthesizer.core.model.composite.Presets.Setting; import com.levien.synthesizer.core.model.composite.Presets.Setting;
import com.google.synthesizer.core.model.modules.AdsrEnvelope; import com.levien.synthesizer.core.model.modules.AdsrEnvelope;
import com.google.synthesizer.core.model.modules.Amplifier; import com.levien.synthesizer.core.model.modules.Amplifier;
import com.google.synthesizer.core.model.modules.Delay; import com.levien.synthesizer.core.model.modules.Delay;
import com.google.synthesizer.core.model.modules.Echo; import com.levien.synthesizer.core.model.modules.Echo;
import com.google.synthesizer.core.model.modules.Glide; import com.levien.synthesizer.core.model.modules.Glide;
import com.google.synthesizer.core.model.modules.LowPassFilter; import com.levien.synthesizer.core.model.modules.LowPassFilter;
import com.google.synthesizer.core.model.modules.Mixer; import com.levien.synthesizer.core.model.modules.Mixer;
import com.google.synthesizer.core.model.modules.Tremolo; import com.levien.synthesizer.core.model.modules.Tremolo;
import com.google.synthesizer.core.model.modules.Tuner; import com.levien.synthesizer.core.model.modules.Tuner;
import com.google.synthesizer.core.model.modules.WaveformSelector; import com.levien.synthesizer.core.model.modules.WaveformSelector;
import com.google.synthesizer.core.model.oscillator.DrawbarOrgan; import com.levien.synthesizer.core.model.oscillator.DrawbarOrgan;
import com.google.synthesizer.core.model.oscillator.KarplusStrong; import com.levien.synthesizer.core.model.oscillator.KarplusStrong;
import com.google.synthesizer.core.soundfont.SoundFontOscillator; import com.levien.synthesizer.core.soundfont.SoundFontOscillator;
import com.google.synthesizer.core.soundfont.SoundFontReader; import com.levien.synthesizer.core.soundfont.SoundFontReader;
/** /**
* MultiTouchSynthesizer is a collection of synthesizer modules, connected together in a way similar * MultiTouchSynthesizer is a collection of synthesizer modules, connected together in a way similar

@ -16,7 +16,7 @@
package synthesizer_core_proto; package synthesizer_core_proto;
option java_package = "com.google.synthesizer.core.model.composite"; option java_package = "com.levien.synthesizer.core.model.composite";
enum WaveformDeprecated { enum WaveformDeprecated {
SINE = 0; SINE = 0;

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.CachedSignalProvider; import com.levien.synthesizer.core.model.CachedSignalProvider;
import com.google.synthesizer.core.model.Envelope; import com.levien.synthesizer.core.model.Envelope;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* An ADSR is the most common envelope for a synth. * An ADSR is the most common envelope for a synth.

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Amplifier simply multiplies the input signal by the input gain. * Amplifier simply multiplies the input signal by the input gain.

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import java.util.Arrays; import java.util.Arrays;
import com.google.synthesizer.core.model.CachedSignalProvider; import com.levien.synthesizer.core.model.CachedSignalProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Delay is a module for recording sampled sound and playing it back later. It has 3 modes. * Delay is a module for recording sampled sound and playing it back later. It has 3 modes.

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.CachedSignalProvider; import com.levien.synthesizer.core.model.CachedSignalProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* The Echo module produces an echo effect by mixing its current input with its earlier input. * The Echo module produces an echo effect by mixing its current input with its earlier input.

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.CachedFrequencyProvider; import com.levien.synthesizer.core.model.CachedFrequencyProvider;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Glide smooths changes in frequency over time. * Glide smooths changes in frequency over time.

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.CachedSignalProvider; import com.levien.synthesizer.core.model.CachedSignalProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* A very simple low-pass filter. * A very simple low-pass filter.

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Mixer outputs a weighted average of two input signals. * Mixer outputs a weighted average of two input signals.

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Module to modulate an amplitude over time based on a modulator signal. Its output is intended to * Module to modulate an amplitude over time based on a modulator signal. Its output is intended to

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* Module to modify the output of a frequency provider. * Module to modify the output of a frequency provider.

@ -14,19 +14,19 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.modules; package com.levien.synthesizer.core.model.modules;
import java.util.ArrayList; import java.util.ArrayList;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
import com.google.synthesizer.core.model.WaveformInput; import com.levien.synthesizer.core.model.WaveformInput;
import com.google.synthesizer.core.model.oscillator.Noise; import com.levien.synthesizer.core.model.oscillator.Noise;
import com.google.synthesizer.core.model.oscillator.Sawtooth; import com.levien.synthesizer.core.model.oscillator.Sawtooth;
import com.google.synthesizer.core.model.oscillator.Sine; import com.levien.synthesizer.core.model.oscillator.Sine;
import com.google.synthesizer.core.model.oscillator.Square; import com.levien.synthesizer.core.model.oscillator.Square;
import com.google.synthesizer.core.model.oscillator.Triangle; import com.levien.synthesizer.core.model.oscillator.Triangle;
/** /**
* Module that outputs a waveform from a selectable set of oscillators. * Module that outputs a waveform from a selectable set of oscillators.

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.oscillator; package com.levien.synthesizer.core.model.oscillator;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* An oscillator module that emulates a set of tone wheels for a drawbar organ. * An oscillator module that emulates a set of tone wheels for a drawbar organ.

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.oscillator; package com.levien.synthesizer.core.model.oscillator;
import com.google.synthesizer.core.model.Envelope; import com.levien.synthesizer.core.model.Envelope;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SignalProvider; import com.levien.synthesizer.core.model.SignalProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
import java.util.Arrays; import java.util.Arrays;
/** /**

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
package com.google.synthesizer.core.model.oscillator; package com.levien.synthesizer.core.model.oscillator;
import com.google.synthesizer.core.model.FrequencyProvider; import com.levien.synthesizer.core.model.FrequencyProvider;
import com.google.synthesizer.core.model.SynthesisTime; import com.levien.synthesizer.core.model.SynthesisTime;
/** /**
* An oscillator module that outputs random values in the range [-1, 1]. * An oscillator module that outputs random values in the range [-1, 1].

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save