~audio-recorder/audio-recorder/trunk

470.2.1 by Osmo Antero
Preparing packaging of v1.6-5 for Ubuntu 15.10
1
Audio Recorder Application <https://launchpad.net/~audio-recorder>
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
2
4 by Osmo Antero Maatta
Some minor updates
3
This amazing program allows you to record your favourite music or audio to a file. 
4
It can record audio from your system's soundcard, microphones, browsers, webcams & more. 
5
Put simply; if it plays out of your loudspeakers you can record it. 
6
7
It has an advanced timer that can:
8
* Start, stop or pause recording at a given clock time.
9
* Start, stop or pause after a time period.
10
* Stop when the recorded file size exceeds a limit.
173 by Osmo Antero
Support new systems; Ubuntu 12.10, Fedora 18. Improved timer and VAD-modules. Better gst-pipeline.
11
* Start recording on voice or sound (user can set the audio threshold and delay).
12
* Stop or pause recording on "silence" (user can set the audio threshold and delay).
4 by Osmo Antero Maatta
Some minor updates
13
14
The recording can be atomatically controlled by:
15
* RhytmBox audio player.
16
* Banshee audio player.
197 by osmoma at gmail
First functional Gstreamer 1.0 recording and test.
17
* Amarok, VLC, Audacious and other MPRIS2 compatible players.
43 by Osmo Antero Maatta
Made data collection in gst-listener.c much simpler. Average RMS (dB) value is used by timer.c.
18
* Skype. It can automatically record all your Skype calls without any user interaction.
4 by Osmo Antero Maatta
Some minor updates
19
20
This program supports several audio (output) formats such as OGG audio, Flac, MP3 and WAV. 
21
62 by Osmo Antero
The recorder now obeys commands from Banshee Player.
22
User can also control the recorder from command line with --command <arg> option.
23
See audio-recorder --help for more information.
24
4 by Osmo Antero Maatta
Some minor updates
25
Please read the README and INSTALL files before compilation.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
26
27
Important files:
28
****************
29
README	- This file.
30
INSTALL	- Compilation from source and installation.
31
COPYING	- The license text.
32
AUTHORS	- Authors and contributors.
33
NEWS	- Recent news, releases.
34
debian/README - Instructions to create a Debian/Ubuntu package.
35
36
Compilation from source and installation:
37
*****************************************
38
Read the INSTALL file for detailed information about compilation of this program.
39
40
Runtime:
41
********
42
Runtime (running this program) has currently these dependencies. The package names are from 
195 by osmoma at gmail
Moving to Gstreamer 1.0, temporary commit.
43
Debian/Ubuntu but you should find similar (and newer) packages in any other Linux-distribution.
44
45
libgtk-3-0
46
libglib2.0-0
463 by Osmo Antero
Updated README and INSTALL files.
47
appindicator3-0.1
195 by osmoma at gmail
Moving to Gstreamer 1.0, temporary commit.
48
libgstreamer1.0-0
460 by Osmo Antero
Preparing version 1.6-0.
49
gstreamer-pbutils-1.0
195 by osmoma at gmail
Moving to Gstreamer 1.0, temporary commit.
50
gstreamer1.0-pulseaudio 
51
gstreamer1.0-plugins-base 
52
gstreamer1.0-plugins-good
53
libdbus-1-3
200 by osmoma at gmail
Final changes before packaging for Fedora 18 and Ubuntu 12.10.
54
 
463 by Osmo Antero
Updated README and INSTALL files.
55
Get also these packages to record MP3 and M4A formats:
56
gstreamer1.0-plugins-bad
57
gstreamer1.0-plugins-ugly
58
gstreamer1.0-libav
64 by Osmo Antero
Better explanation of various command line options.
59
1 by Osmo Antero Maatta
Initial import 17.jan.2011
60
For developers:
61
***************
62
The configuration uses Automake/Autoconf tools. The most important files are: 
63
64
Makefile.am  - General build and installation instructions.
463 by Osmo Antero
Updated README and INSTALL files.
65
configure.ac  - Configuration of source with library existens and error check.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
66
pixmaps/Makefile.am - Installation of icons.  
67
src/Makefile.am - Build and installation instructions. Contains list of all source files.
68
po/POTFILES.in - Language support. List of source files that has translatable text.
69
70
The general sequence of commands to re-configure the source is:
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
71
72
cd audio-recorder*
1 by Osmo Antero Maatta
Initial import 17.jan.2011
73
aclocal
74
autoconf
75
automake -a 
76
29 by Osmo Antero Maatta
Preparing .deb package for this app
77
Or as one-liner:
69 by Osmo Antero
Ported this application to GTK/GDK 3. Using now GSettings (and dconf) instead of GConf2
78
aclocal && autoconf && automake -a
5 by Osmo Antero Maatta
Miscellaneous changes
79
470.2.2 by Osmo Antero
Preparing packaging of v.1.6-5 for Ubuntu 15.10.
80
Or, run:
81
autoreconf -i
82
83
Then configure, compile/link and install:
5 by Osmo Antero Maatta
Miscellaneous changes
84
 
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
85
./configure  # configure produces the final Makefile (food for make).
1 by Osmo Antero Maatta
Initial import 17.jan.2011
86
make
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
87
sudo make install  # run this as root or sudo.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
88
89
File locations:
90
***************
77 by Osmo Antero
Updated version (v0.7) for Fedora 16+ and Ubuntu 12.04.
91
* "Make install" will copy the audio-recorder executable to /usr/bin directory.
69 by Osmo Antero
Ported this application to GTK/GDK 3. Using now GSettings (and dconf) instead of GConf2
92
This default location can be changed during the ./configure phase.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
93
Run ./configure --help for more instructions.
94
77 by Osmo Antero
Updated version (v0.7) for Fedora 16+ and Ubuntu 12.04.
95
* Pixmap images are copied to /usr/share/pixmaps/audio-recorder/.
96
97
* Icons are installed to /usr/share/icons/hicolor/*/apps/.
98
99
* The HTML help files from audio-recorder/data/ are by default copied to /usr/share/audio-recorder/.
100
101
* This program uses now DConf registry to store program settings. The older version used GConf.
102
All valid configuration keys must be defined in the schema file "org.gnome.audio-recorder.gschema.xml".
103
You can find it in the data/ folder.
104
This xml-file must then be compiled and installed to /usr/share/glib-2.0/schemas/ directory.
105
106
The data/Makefile.am does this automatically when you run "sudo make install". 
107
108
You can also compile and install the schema manually:
109
0) First, test the schema (xml) file. I assume here that the schema is in the current (.) directory.
110
   $ glib-compile-schemas --dry-run .
111
112
1) Copy the schema file to /usr/share/glib-2.0/schemas/.
113
   $ sudo cp org.gnome.audio-recorder.gschema.xml /usr/share/glib-2.0/schemas/
114
115
2) Then re-compile all schemas.
116
   $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
117
463 by Osmo Antero
Updated README and INSTALL files.
118
You can also study the various schema-values with gsettings and dconf-editor tools.
77 by Osmo Antero
Updated version (v0.7) for Fedora 16+ and Ubuntu 12.04.
119
$ gsettings
120
$ dconf-editor
121
--------------
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
122
123
Language support:
124
*****************
125
126
1) First, translate the data/audio-recorder.desktop file.
127
Open it and add your translations to it.
128
129
gedit data/audio-recorder.desktop
130
131
2) Tanslate the program itself.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
132
The language files are saved in the source's po/ directory.
133
134
Each translatable file should be listed in the po/POTFILES.in file. Add names of new code-files there.
135
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
136
Translating audio-recorder.pot to a new language.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
137
138
Translate on the Launchpad.
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
139
Use Launchpad for the translations. Browse to https://translations.launchpad.net/audio-recorder
1075 by Osmo Antero
Updating instructions for howto test Audio-recorder with various languages (LANG=nb_NO.UTF-8 etc.).
140
Login and open/update the translations.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
141
142
Important: The translations from the Launchpad are automatically copied/synchronized to the source code's po/ directory. 
143
Launchpad does this transfer once a day.
144
29 by Osmo Antero Maatta
Preparing .deb package for this app
145
You should regularly download the translated .po files from Launchpad to your local copy(branch) by using this command
146
bzr merge
147
or
148
bzr merge --force
149
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
150
Then update the "audio-recorder.pot" file by running "make update-po" in the po/ directory. 
151
audio-recorder.pot contains all translatable _("xxx") strings found in the code. Do:
1 by Osmo Antero Maatta
Initial import 17.jan.2011
152
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
153
cd audio-recorder*
1 by Osmo Antero Maatta
Initial import 17.jan.2011
154
cd po
155
make update-po
156
97 by Osmo Antero
Small updates in INSTALL and README files.
157
It creates binary language file (*.gmo) of each *.po.
158
1075 by Osmo Antero
Updating instructions for howto test Audio-recorder with various languages (LANG=nb_NO.UTF-8 etc.).
159
Testing the program with various languages:
160
*******************************************
161
First, you must install the global language packages in the System Settings -> Languages Dialog !
162
Press the [Install/Remove languages] button and choose/install the appropriate languages.
163
164
Use the "locale -a" command to list all supported languages in your system.
165
$ locale -a
166
C.UTF-8
167
de_AT.utf8
168
...
169
en_GB.utf8
170
fi_FI.utf8
171
nb_NO.utf8
172
pt_PT.utf8
173
174
Please check if your target language appears in the list.
175
176
Now you can test Audio-recorder with the supported languages.
177
You simply set the tonque before starting the recorder. 
178
For example:
179
180
# Changing language of audio-recorder to Norwegian Bookmål
181
$ export L=nb_NO.UTF-8
182
$ LANG=$L; LC_ALL=$L; LANGUAGE=$L audio-recorder
183
184
# Changing language to German
185
$ export L=de_DE.UTF-8
186
$ LANG=$L; LC_ALL=$L; LANGUAGE=$L audio-recorder
187
188
# Changing lingo to English GB
189
$ export L=en_GB.UTF-8
190
$ LANG=$L; LC_ALL=$L; LANGUAGE=$L audio-recorder
191
192
Notice:
193
You may also set the language for the ENTIRE DESKTOP in the System-Settings, User Definition dialog.
194
Some (not Ubuntu/Unity) systems may let you set the language in the login-screen (Log-out / Log-in).
195
196
Of course, the above commands require that audio-recorder has been translated and packaged with the actual tonques.
197
Please see: https://translations.launchpad.net/audio-recorder
198
----
182 by Osmo Antero
Small changes in README and data/readme.txt
199
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
200
4) You may also translate the HTML-files (help files) in the audio-recorder/data directory.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
201
If not translated, the program will show the original english text.
181 by Osmo Antero
Some nitpicking in data/readme.txt file.
202
You will find instructions in audio-recorder/data/readme.txt file.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
203
204
Send new language files to developers for inclusion in the package.
470.2.1 by Osmo Antero
Preparing packaging of v1.6-5 for Ubuntu 15.10
205
See: https://launchpad.net/~audio-recorder or programs About-dialog.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
206
207
Development:
208
************
209
First of all, install necessary development (*-dev) packages as instructed in the INSTALL file. 
210
Of cource you will also need the compiler (gcc) and Automake tools. 
211
In Ubuntu you should simply get the "build-essential", "automake" and "autoconf" packages.
212
213
The code is written in c with GDK/GTK+ libraries and it is hosted on the Launchpad at address:
470.2.1 by Osmo Antero
Preparing packaging of v1.6-5 for Ubuntu 15.10
214
https://launchpad.net/~audio-recorder
1 by Osmo Antero Maatta
Initial import 17.jan.2011
215
216
Launchpad uses Bazar (bzr) as the code versioning system. In Ubuntu you should install the "bzr" package. 
217
218
Then (very important!) read the README and INSTALL files for further instructions.
219
220
The program's about-dialog vill show details about the installation directories and locations.
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
221
Run the program and check its about-dialog.
222
223
Coding standard:
224
****************
225
I use the Gedit for code editing. In the the preferences I set 
463 by Osmo Antero
Updated README and INSTALL files.
226
* Tab-stops width to 4 (as spaces).
97 by Osmo Antero
Small updates in INSTALL and README files.
227
* And checkmark the "Insert spaces instead of tabs" option.
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
228
26 by Osmo Antero Maatta
Small changes in formatting of debug messages
229
I use the "astyle" command to make all code formatting. You may need to install it first.
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
230
231
sudo apt-get install astyle 
232
26 by Osmo Antero Maatta
Small changes in formatting of debug messages
233
Astyle documentation: http://astyle.sourceforge.net/astyle.html
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
234
235
Then run astyle command from the base (audio-recorder) directory.
236
237
For a single file (eg. audio-source.[ch]), run
463 by Osmo Antero
Updated README and INSTALL files.
238
astyle --style=attach --indent=spaces=4 --suffix=none src/audio-source.[ch]
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
239
240
For all source files, run
463 by Osmo Antero
Updated README and INSTALL files.
241
astyle --style=attach --indent=spaces=4 --suffix=none src/*.[ch]
1 by Osmo Antero Maatta
Initial import 17.jan.2011
242
4 by Osmo Antero Maatta
Some minor updates
243
During development:
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
244
*******************
4 by Osmo Antero Maatta
Some minor updates
245
During coding, type "make" in the root directory to re-compile and link all changes.
246
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
247
cd audio-recorder*
248
make 
249
250
You do not ned to "sudo make install" the entire application after each compilation. Instead, run
4 by Osmo Antero Maatta
Some minor updates
251
252
src/audio-recorder
253
254
This way you can code and test the application relatively fast.
255
22 by Osmo Antero Maatta
Formatted the code using astyle. See README for instructions.
256
You can clean up all binary and object (*.o) files with "make clean".
257
make clean
4 by Osmo Antero Maatta
Some minor updates
258
1 by Osmo Antero Maatta
Initial import 17.jan.2011
259
Debugging:
260
**********
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
261
You may enable the DEBUG_ALL and ACTIVATE_DEBUGGING directives in the src/log.h file. 
262
Open src/log.h and enable or disable
263
264
#define DEBUG_ALL
265
#define ACTIVE_DEBUGGING
266
267
Some modules have their own debugging flags. You may enable/disable 
268
DEBUG_PLAYER in src/dbus_player.h
269
DEBUG_SKYPE in src/dbus-skype.h
270
DEBUG_LISTENER in src/gst_listener.h
271
DEBUG_TIMER src/timer.h
1 by Osmo Antero Maatta
Initial import 17.jan.2011
272
----
273
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
274
Command line options:
275
*********************
276
src/audio-recorder --help
277
278
Usage:
1034.1.1 by David Rabel
Spelling mistake corrected
279
  audio-recorder [OPTION...] Command line arguments.
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
280
281
Application Options:
463 by Osmo Antero
Updated README and INSTALL files.
282
  -v, --version            Print program name and version.
283
  -w, --show-window        Show application window at startup (0=hide main window, 1=force display of main window).
284
  -i, --show-icon          Show icon on the system tray (0=hide icon, 1=force display of icon).
285
  -r, --reset              Reset all settings and restart audio-recorder.
286
  -d, --debug-signal       List signal level values in a terminal window.
287
  -c, --command            Send a command to the recorder. Valid commands are; status,start,stop,pause,show,hide and quit.
288
                           The status argument returns; 'not running','on','off' or 'paused'.
2 by Osmo Antero Maatta
Updated INSTALL, README and NEWS files
289
290
Sample usage:
291
audio-recorder --show-window=1 --show-icon=0
292
62 by Osmo Antero
The recorder now obeys commands from Banshee Player.
293
The --version, --show-window, --show-icon options are self explanatory.
294
The --debug-signal argument can help you to study the signal level from sound-card, microphones and webcams.
4 by Osmo Antero Maatta
Some minor updates
295
The listing will print out several level values that can help to set the decibel (dB) value for the timer commands.
62 by Osmo Antero
The recorder now obeys commands from Banshee Player.
296
The "Average RMS" value is the most important. The values are collected by src/listener.c module.
1 by Osmo Antero Maatta
Initial import 17.jan.2011
297
56 by Osmo Antero
Version 0.5
298
The --command <arg> sends a command to the recorder. With this you can easily stop, start or pause 
62 by Osmo Antero
The recorder now obeys commands from Banshee Player.
299
the recording from command line.
300
56 by Osmo Antero
Version 0.5
301
The status command (--command status) returns the current recording state; "not running", "on", "off" or "paused".
336 by Osmo Antero
Version 1.3-3. Language updates on Ukrainian(uk) and Chinese Simplified(zh_CN) strings.
302
You can also test its exit value ($?). 
303
0 = the program is up & running. Non-zero exit value means the program is not running.
56 by Osmo Antero
Version 0.5
304
305
Sample usage:
62 by Osmo Antero
The recorder now obeys commands from Banshee Player.
306
audio-recorder --command status
307
echo $?
308
56 by Osmo Antero
Version 0.5
309
status=$(audio-recorder --command status)
310
echo $status
311
312
audio-recorder --command start
313
audio-recorder --command stop+show
314
audio-recorder --command quit
315
470.2.1 by Osmo Antero
Preparing packaging of v1.6-5 for Ubuntu 15.10
316
Ready-made Debian/Ubuntu packages for Ubuntu 15.10 and later:
317
*************************************************************
318
https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa
319
320
Packages for Ubuntu 15.04 and older Ubuntu versions:
321
*************************************************************
29 by Osmo Antero Maatta
Preparing .deb package for this app
322
https://launchpad.net/~osmoma/+archive/audio-recorder
323
324
Source code:
325
************
470.2.1 by Osmo Antero
Preparing packaging of v1.6-5 for Ubuntu 15.10
326
https://launchpad.net/~audio-recorder
1 by Osmo Antero Maatta
Initial import 17.jan.2011
327
328
-- end --
329