annotate src/audacious/Makefile @ 2771:4585019eb82e trunk

[svn] -Renamed MPRIS /TrackList Shuffle method to Random -Added stubs for the MPRIS /Player signals -Added stubs for the MPRIS /TrackList methods (implemented AddTrack) -Modified build system to be more ignorant of DBus support
author magma
date Tue, 15 May 2007 21:53:37 -0700
parents bf2d80abf76e
children 182aa34ae6c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2409
30ab29ed32d8 [svn] - back out objective-make topdir probe stuff, it doesnt work on some
nenolod
parents: 2404
diff changeset
1 include ../../mk/rules.mk
30ab29ed32d8 [svn] - back out objective-make topdir probe stuff, it doesnt work on some
nenolod
parents: 2404
diff changeset
2 include ../../mk/init.mk
30ab29ed32d8 [svn] - back out objective-make topdir probe stuff, it doesnt work on some
nenolod
parents: 2404
diff changeset
3 include ../../mk/objective.mk
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
4
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
5 SUBDIRS = widgets glade images ui
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
6
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
7 OBJECTIVE_BINS = audacious
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
8
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
9 LDFLAGS += $(AUDLDFLAGS)
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
10
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
11 LDADD = \
2571
c293ff5ec46f [svn] - use $(LIBINTL) rule, not $(LTLIBINTL). unbreaks OSX platform port.
nenolod
parents: 2541
diff changeset
12 -L.. $(LIBINTL) \
2538
719e0898ff3c [svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents: 2537
diff changeset
13 $(samplerate_LIBS) \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
14 $(CHARDET_LIBS) \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
15 $(GTK_LIBS) \
2694
c2b82432c1b6 [svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents: 2691
diff changeset
16 $(DBUS_LIBS) \
2631
a2afa6ca7294 [svn] - integrate libmowgli requirement into buildsystem
nenolod
parents: 2589
diff changeset
17 $(MOWGLI_LIBS) \
2722
3dc52411bdbe [svn] MCS_LIBS != LIBMCS_LIBS, allow audacious binary to link.
chainsaw
parents: 2721
diff changeset
18 $(LIBMCS_LIBS) \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
19 $(LIBGLADE_LIBS) \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
20 $(REGEX_LIBS) \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
21 ./widgets/libwidgets.a
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
22
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
23 CFLAGS += \
2631
a2afa6ca7294 [svn] - integrate libmowgli requirement into buildsystem
nenolod
parents: 2589
diff changeset
24 $(MOWGLI_CFLAGS) \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
25 $(GTK_CFLAGS) \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
26 $(LIBGLADE_CFLAGS) \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
27 $(BEEP_DEFINES) \
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
28 $(ARCH_DEFINES) \
2694
c2b82432c1b6 [svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents: 2691
diff changeset
29 $(DBUS_CFLAGS) \
2538
719e0898ff3c [svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents: 2537
diff changeset
30 $(samplerate_CFLAGS) \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
31 $(REGEX_CFLAGS) \
2722
3dc52411bdbe [svn] MCS_LIBS != LIBMCS_LIBS, allow audacious binary to link.
chainsaw
parents: 2721
diff changeset
32 $(LIBMCS_CFLAGS) \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
33 -D_AUDACIOUS_CORE \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
34 -I.. -I../.. \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
35 -I../intl
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
36
2367
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
37 HEADERS = \
2739
953001c668ae [svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents: 2733
diff changeset
38 auddrct.h \
2712
aeb4d8da1543 [svn] - move configdb public API to audacious proper
nenolod
parents: 2711
diff changeset
39 configdb.h \
2711
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
40 dbus.h \
2426
193bae6b2c8f [svn] - removed xmms_ prefix from formatter
mf0102
parents: 2422
diff changeset
41 formatter.h \
2537
7aac1b5ef85d [svn] - reinstate rcfile class for now
nenolod
parents: 2536
diff changeset
42 rcfile.h \
2387
af600aefd2cf [svn] - add i18n.h which wraps gettext in a way that is usable to plugins.
nenolod
parents: 2386
diff changeset
43 i18n.h \
2367
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
44 input.h \
2404
60f1bc20c19c [svn] - hooking implementation.
nenolod
parents: 2391
diff changeset
45 hook.h \
2386
86ef3bf12a59 [svn] - export main.h again
giacomo
parents: 2385
diff changeset
46 main.h \
2367
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
47 output.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
48 playlist.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
49 playlist_container.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
50 plugin.h \
2385
ab2b1b6f6179 [svn] - add missing inclusion of strings.h where necessary, do not export main.h and export strings.h
giacomo
parents: 2367
diff changeset
51 strings.h \
2441
af8b86badfdb [svn] - Cleaned up a bit
mf0102
parents: 2431
diff changeset
52 titlestring.h \
2367
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
53 ui_fileinfopopup.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
54 ui_preferences.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
55 util.h \
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
56 vfs.h \
2431
3ec22a11c83e [svn] - moved titlestring.* and xconvert.* from libaudacious to audacious
mf0102
parents: 2426
diff changeset
57 vfs_buffer.h \
2589
ea470384e752 [svn] - add vfs_buffered_file_release_live_fd().
nenolod
parents: 2571
diff changeset
58 vfs_buffered_file.h \
2431
3ec22a11c83e [svn] - moved titlestring.* and xconvert.* from libaudacious to audacious
mf0102
parents: 2426
diff changeset
59 xconvert.h
2367
d5522d3cd68f [svn] fix a stupid bug of mine
mf0102
parents: 2365
diff changeset
60
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
61 SOURCES = \
2739
953001c668ae [svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents: 2733
diff changeset
62 auddrct.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
63 build_stamp.c \
2712
aeb4d8da1543 [svn] - move configdb public API to audacious proper
nenolod
parents: 2711
diff changeset
64 configdb.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
65 dnd.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
66 dock.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
67 effect.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
68 fft.c \
2426
193bae6b2c8f [svn] - removed xmms_ prefix from formatter
mf0102
parents: 2422
diff changeset
69 formatter.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
70 general.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
71 genevent.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
72 glade.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
73 hints.c \
2404
60f1bc20c19c [svn] - hooking implementation.
nenolod
parents: 2391
diff changeset
74 hook.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
75 iir.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
76 iir_cfs.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
77 iir_fpu.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
78 input.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
79 logger.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
80 main.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
81 memorypool.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
82 output.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
83 pixbuf_effects.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
84 playback.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
85 playlist.c \
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
86 playlist_container.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
87 pluginenum.c \
2537
7aac1b5ef85d [svn] - reinstate rcfile class for now
nenolod
parents: 2536
diff changeset
88 rcfile.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
89 signals.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
90 strings.c \
2431
3ec22a11c83e [svn] - moved titlestring.* and xconvert.* from libaudacious to audacious
mf0102
parents: 2426
diff changeset
91 titlestring.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
92 ui_about.c \
2442
44df6c17411b [svn] - split out albumart locating functions into a seperate file and make the public API available in util.h
nenolod
parents: 2441
diff changeset
93 ui_albumart.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
94 ui_credits.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
95 ui_equalizer.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
96 ui_fileinfo.c \
2348
564e8a1fe09a [svn] - made a public API for fileinfopopup (popup that displays metadata, the same used in playlist); now plugins can include ui_fileinfopopup.h to display metadata popups (i.e. statusicon and libnotify plugins)
giacomo
parents: 2341
diff changeset
97 ui_fileinfopopup.c \
2416
0fd7f4f969ad [svn] integrated urldecode.* from libaudacious into audacious directory, made separate ui_fileopener.*
mf0102
parents: 2411
diff changeset
98 ui_fileopener.c \
2500
04642d2d0941 [svn] - split out jump to track
nenolod
parents: 2499
diff changeset
99 ui_jumptotrack.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
100 ui_main.c \
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
101 ui_manager.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
102 ui_playlist.c \
2499
15a1f5ee4d1c [svn] - playlist_manager -> ui_playlist_manager, since it's a UI component.
nenolod
parents: 2494
diff changeset
103 ui_playlist_manager.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
104 ui_preferences.c \
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents: 2465
diff changeset
105 ui_skinned_cursor.c \
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents: 2465
diff changeset
106 ui_skinned_window.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
107 ui_skinselector.c \
2422
b31111934cd3 [svn] - break out the URL opener UI code
nenolod
parents: 2416
diff changeset
108 ui_urlopener.c \
2416
0fd7f4f969ad [svn] integrated urldecode.* from libaudacious into audacious directory, made separate ui_fileopener.*
mf0102
parents: 2411
diff changeset
109 urldecode.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
110 util.c \
2494
59661bd074b4 [svn] Try to put some skinned window code in a common place.
nenolod
parents: 2465
diff changeset
111 vfs.c \
2365
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
112 vfs_buffer.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
113 vfs_buffered_file.c \
cfc8431aceb5 [svn] cleanups in many regards
mf0102
parents: 2348
diff changeset
114 vfs_common.c \
2431
3ec22a11c83e [svn] - moved titlestring.* and xconvert.* from libaudacious to audacious
mf0102
parents: 2426
diff changeset
115 visualization.c \
3ec22a11c83e [svn] - moved titlestring.* and xconvert.* from libaudacious to audacious
mf0102
parents: 2426
diff changeset
116 xconvert.c
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
117
2771
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
118 ifdef USE_DBUS
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
119 SOURCES += dbus.c
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
120 DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
121 depend-prehook: $(DBUS_BINDINGS)
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
122 OBJECTIVE_LIBS_NOINST += $(DBUS_BINDINGS)
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
123 endif
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
124
2711
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
125 DBUS_BINDINGS_SOURCES = \
2708
b66e6a928a6e [svn] - add dependency for dbus bindings.
yaz
parents: 2706
diff changeset
126 objects.xml \
b66e6a928a6e [svn] - add dependency for dbus bindings.
yaz
parents: 2706
diff changeset
127 mpris_root.xml \
b66e6a928a6e [svn] - add dependency for dbus bindings.
yaz
parents: 2706
diff changeset
128 mpris_tracklist.xml \
b66e6a928a6e [svn] - add dependency for dbus bindings.
yaz
parents: 2706
diff changeset
129 mpris_player.xml
b66e6a928a6e [svn] - add dependency for dbus bindings.
yaz
parents: 2706
diff changeset
130
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
131 OBJECTS = ${SOURCES:.c=.o}
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
132
2691
ecfb79d60c3a [svn] maintenance of build system:
yaz
parents: 2631
diff changeset
133 LIBDEP = widgets/libwidgets.a ../libguess/libguess.a ../librcd/librcd.a
ecfb79d60c3a [svn] maintenance of build system:
yaz
parents: 2631
diff changeset
134
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
135 desktop_DATA = audacious.desktop
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
136 desktopdir = $(datadir)/applications
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
137
2691
ecfb79d60c3a [svn] maintenance of build system:
yaz
parents: 2631
diff changeset
138 audacious: $(OBJECTS) $(LIBDEP)
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
139 $(CXX) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
140 @printf "%10s %-20s\n" LINK $@
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
141
2711
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
142 dbus-server-bindings.h: $(DBUS_BINDINGS_SOURCES)
2733
cf080b11c3fa [svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents: 2730
diff changeset
143 $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=audacious_rc objects.xml > $@
2769
bf2d80abf76e [svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents: 2768
diff changeset
144 $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_root mpris_root.xml >> $@
2771
4585019eb82e [svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents: 2769
diff changeset
145 $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_tracklist mpris_tracklist.xml >> $@
2769
bf2d80abf76e [svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents: 2768
diff changeset
146 $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_player mpris_player.xml >> $@
2703
fa67680f3a29 [svn] - add mpris root node to dbus-bindings.
nenolod
parents: 2694
diff changeset
147 @printf "%10s %-20s\n" DBUS-BIND $@
2694
c2b82432c1b6 [svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents: 2691
diff changeset
148
2711
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
149 dbus-client-bindings.h: $(DBUS_BINDINGS_SOURCES)
2733
cf080b11c3fa [svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents: 2730
diff changeset
150 $(DBUS_BINDING_TOOL) --mode=glib-client --prefix=audacious_rc objects.xml > $@
2711
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
151 @printf "%10s %-20s\n" DBUS-BIND $@
c35913222440 [svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents: 2709
diff changeset
152
2313
3149d4b1a9a9 [svn] - objective-make autodepend fixes
nenolod
parents:
diff changeset
153 OBJECTIVE_DATA = audacious.desktop:$(datadir)/applications