],
[have_ecore_imf="no"])
+ PKG_CHECK_MODULES([EIO],
+ [eio >= 1.6.99],
+ [
+ AC_DEFINE([HAVE_EIO], [1], [Eio is available for monitoring file assynchronously])
+ have_eio="yes"
+ requirement_edje="eio >= 1.6.99 ${requirement_edje}"
+ ],
+ [have_eio="no"])
+
# Enable Multisense use
-want_multisense="no"
-dnl AC_ARG_ENABLE([multisense],
-dnl [AC_HELP_STRING(
-dnl [--enable-multisense],
-dnl [multisense provides sound. tone and haptic effects support, [[default=disabled]]]
-dnl )],
-dnl [want_multisense=$enableval]
-dnl )
+want_multisense="yes"
+AC_ARG_ENABLE([multisense],
+ [AC_HELP_STRING(
+ [--disable-multisense],
+ [multisense provides sound and tone play support, [[default=enabled]]]
+ )],
+ [want_multisense=$enableval]
+)
AM_CONDITIONAL([ENABLE_MULTISENSE], [test "x${want_multisense}" = "xyes"])
##sndfile library
if test "x$want_alsa_lib" = "xyes" -a "x$have_alsa_lib" = "xno"; then
AC_MSG_ERROR([alsa support requested, but not found by pkg-config.])
fi
- fi
+ fi
AM_CONDITIONAL([HAVE_LIBALSA], [test "x${have_alsa_lib}" = "xyes"])
+##pulse audio library
+have_pa_lib="no"
+want_pa_lib="auto"
+AC_ARG_ENABLE([pulseaudio],
+ [AC_HELP_STRING([--disable-pa], [disable pulse audio support. @<:@default=detect@:>@])],
+ [want_pa_lib=$enableval], [])
+
+if test "x${want_multisense}" = "xyes" -a "x$want_pa_lib" != "xno"; then
+ PKG_CHECK_MODULES([PA],
+ [
+ libpulse >= 0.9.21
+ libpulse-simple >= 0.9.21
+ ],
+ [
+ AC_DEFINE(HAVE_LIBPA, 1, [Pulse Audio support for Edje])
+ have_pa_lib="yes"
+ requirement_edje="libpulse >= 0.9.21 ${requirement_edje}"
+ ],
+ [have_pa_lib="no"]
+ )
+
+ if test "x$want_pa_lib" = "xyes" -a "x$have_pa_lib" = "xno"; then
+ AC_MSG_ERROR([pulse audio support requested, but not found by pkg-config.])
+ fi
+fi
+AM_CONDITIONAL([HAVE_LIBPA], [test "x${have_pa_lib}" = "xyes"])
+
##flac library
have_flac_lib="no"
exit(-1);
}
+ _on_edjecc = EINA_TRUE;
++
+ using_file(file_in);
+
if (!edje_init())
exit(-1);
}
else
{
- if (cx <= lx)
- _curs_lin_start(en->cursor, rp->object, en);
+ int lnum;
+
+ lnum = evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+ if (lnum < 0)
+ {
+ _curs_lin_start(en->cursor, rp->object, en);
+ }
else
- _curs_lin_end(en->cursor, rp->object, en);
+ {
+ if (cx <= lx)
+ _curs_lin_start(en->cursor, rp->object, en);
+ else
+ _curs_lin_end(en->cursor, rp->object, en);
+ }
}
- if ((en->have_selection) &&
- (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT))
+ }
+ }
+ if (dosel)
+ {
+ if ((en->have_selection) &&
+ (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT))
+ {
+ if (shift)
+ _sel_extend(en->cursor, rp->object, en);
+ else
{
Eina_List *first, *last;
FLOAT_T sc;
strncpy(ms_factory, ms_factory_env, BUF_LEN);
else
strcpy(ms_factory, "multisense_factory");
-
+
m = _edje_module_handle_load(ms_factory);
if (!m) goto err;
-
+#ifdef HAVE_LIBREMIX
msdata->msenv->remixenv = remix_init();
-
- multisense_factory_init =
+#endif
+ multisense_factory_init =
eina_module_symbol_get(m, "multisense_factory_init");
if (multisense_factory_init) multisense_factory_init(msdata->msenv);
-
- msdata->multisense_sound_player_get =
+#ifdef HAVE_LIBREMIX
+ msdata->multisense_sound_player_get =
eina_module_symbol_get(m, "multisense_sound_player_get");
if (!msdata->multisense_sound_player_get) goto err;
_player_job(void *data __UNUSED__, Ecore_Thread *th)
{
fd_set wait_fds;
+#ifdef HAVE_LIBREMIX
RemixBase *sound;
RemixCount process_len;
-// disable and move outside of thread due to dlsym etc. thread issues
+#endif
+// disable and move outside of thread due to dlsym etc. thread issues
// Multisense_Data * msdata = init_multisense_environment();
-
+
if (!msdata) return;
fcntl(command_pipe[0], F_SETFL, O_NONBLOCK);
_edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed)
{
ssize_t size = 0;
-#ifdef ENABLE_MULTISENSE
+#if defined(ENABLE_MULTISENSE) && defined(HAVE_LIBREMIX)
Edje_Multisense_Sound_Action command;
-
+
if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
+ if (!sample_name)
+ {
+ ERR("Given Sample Name is NULL\n");
+ return EINA_FALSE;
+ }
command.action = EDJE_PLAY_SAMPLE;
command.ed = ed;
_edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration)
{
ssize_t size = 0;
-#ifdef ENABLE_MULTISENSE
+#if defined(ENABLE_MULTISENSE) && defined(HAVE_LIBREMIX)
Edje_Multisense_Sound_Action command;
-
+
if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
+ if (!tone_name)
+ {
+ ERR("Given Tone Name is NULL\n");
+ return EINA_FALSE;
+ }
+
command.action = EDJE_PLAY_TONE;
command.ed = ed;
strncpy(command.type.tone.tone_name, tone_name, BUF_LEN);
if (!rp) return EINA_FALSE;
if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
(rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return EINA_FALSE;
- return _edje_object_part_text_raw_set(obj, rp, part, text);
+ r = _edje_object_part_text_raw_set(obj, rp, part, text);
+ _edje_user_define_string(ed, part, rp->text.text);
+ return r;
}
+/**
+ * @brief Return the text of the object part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The text string
+ *
+ * This function returns the text associated to the object part.
+ *
+ */
EAPI const char *
edje_object_part_text_get(const Evas_Object *obj, const char *part)
{
AM_CPPFLAGS = \
-I. \
--DPACKAGE_LIB_DIR=\"$(libdir)/remix\" \
--DPACKAGE_DATA_DIR=\"$(datadir)/remix\" \
@EDJE_CFLAGS@ \
+ @EIO_CFLAGS@ \
@REMIX_CFLAGS@ \
@ALSA_CFLAGS@
AM_CPPFLAGS = \
-I. \
--DPACKAGE_LIB_DIR=\"$(libdir)/remix\" \
--DPACKAGE_DATA_DIR=\"$(datadir)/remix\" \
@EDJE_CFLAGS@ \
+ @EIO_CFLAGS@ \
@REMIX_CFLAGS@
pkgdir = $(REMIX_PLUGIN_DIR)