+ p_new->psz_title = strdup( psz_title );
+ FORMAT_DESC
+
+ p_new->i_flags = DIALOG_WARNING;
+
+ return DialogSend( p_this, p_new );
+}
+
+/** Helper function to ask a yes-no-cancel question
+ * \param p_this Parent vlc_object
+ * \param psz_title Title for the dialog
+ * \param psz_description A description
+ * \param psz_default caption for the default button
+ * \param psz_alternate caption for the alternate button
+ * \param psz_other caption for the optional 3rd button (== cancel)
+ * \return Clicked button code
+ */
+int __intf_UserYesNo( vlc_object_t *p_this,
+ const char *psz_title,
+ const char *psz_description,
+ const char *psz_default,
+ const char *psz_alternate,
+ const char *psz_other )
+{
+ DIALOG_INIT( TWOWAY );
+
+ p_new->psz_title = strdup( psz_title );
+ p_new->psz_description = strdup( psz_description );
+ p_new->i_flags = DIALOG_YES_NO_CANCEL;
+ p_new->psz_default_button = strdup( psz_default );
+ p_new->psz_alternate_button = strdup( psz_alternate );
+ if( psz_other )
+ p_new->psz_other_button = strdup( psz_other );
+
+ return DialogSend( p_this, p_new );
+}
+
+/** Helper function to create a dialogue showing a progress-bar with some info
+ * \param p_this Parent vlc_object
+ * \param psz_title Title for the dialog (NULL implies main intf )
+ * \param psz_status Current status
+ * \param f_position Current position (0.0->100.0)
+ * \param i_timeToGo Time (in sec) to go until process is finished
+ * \return Dialog id, to give to UserProgressUpdate
+ */
+int __intf_Progress( vlc_object_t *p_this, const char *psz_title,
+ const char *psz_status, float f_pos, int i_time )
+{
+ DIALOG_INIT( ONEWAY );
+ p_new->psz_description = strdup( psz_status );
+ p_new->val.f_float = f_pos;
+ p_new->i_timeToGo = i_time;
+ p_new->psz_alternate_button = strdup( _("Cancel" ) );
+
+ if( psz_title )