18 new shapewipe transitions from rafa, rework savefile/confirm for nested edl edits
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / titler / titlerwindow.C
index 4b91787c2968297f59eb2165a1597e7434cd8c45..644cd67d1220bd3b75570f1f882830b798a7aab2 100644 (file)
@@ -40,6 +40,7 @@
 #include "pluginserver.h"
 #include "theme.h"
 #include "track.h"
+#include "tracks.h"
 #include "titlerwindow.h"
 #include "bcfontentry.h"
 
@@ -236,7 +237,7 @@ void TitleWindow::create_objects()
        add_subwindow(font_tumbler = new TitleFontTumble(client, this, x, y+margin));
        x += font_tumbler->get_w() + margin;
 
-       int x1 = x, y1 = y;
+       int x1 = x+xS(20), y1 = y;
        add_tool(size_title = new BC_Title(x1, y1+margin, _("Size:")));
        sprintf(string, "%.2f", client->config.size);
        x1 += size_title->get_w() + margin;
@@ -245,7 +246,7 @@ void TitleWindow::create_objects()
        int x2 = x1 + size->get_w(), y2 = y1 + size->get_h() + margin;
        add_subwindow(size_tumbler = new TitleSizeTumble(client, this, x2, y1+margin));
 
-       add_tool(pitch_title = new BC_Title(x-xS(5), y2+margin, _("Pitch:")));
+       add_tool(pitch_title = new BC_Title(x-xS(16), y2+margin, _("Line Pitch:")));
        pitch = new TitlePitch(client, this, x1, y2+margin, &client->config.line_pitch);
        pitch->create_objects();
 
@@ -530,9 +531,9 @@ int TitleWindow::insert_ibeam(const char *txt, int ofs)
 {
        int ibeam = cur_ibeam;
        int ilen = strlen(txt)+1;
-       wchar_t wtxt[ilen];
+       wchr_t wtxt[ilen];
        int len = BC_Resources::encode(client->config.encoding, BC_Resources::wide_encoding,
-               (char*)txt,ilen, (char *)wtxt,ilen*sizeof(wtxt[0])) / sizeof(wchar_t);
+               (char*)txt,ilen, (char *)wtxt,ilen*sizeof(wtxt[0])) / sizeof(wchr_t);
        client->insert_text(wtxt, ibeam);
        while( len > 0 && !wtxt[len] ) --len;
        int adv = len+1 + ofs;
@@ -582,7 +583,8 @@ void TitleWindow::update_gui()
        fade_out->update((float)client->config.fade_out);
        font->update(client->config.font);
        check_style(client->config.font,0);
-       text->update(client->config.wtext ? &client->config.wtext[0] : L"");
+       wchr_t wz[1] = { 0 };
+       text->update(client->config.wtext ? &client->config.wtext[0] : wz);
        speed->update(client->config.pixels_per_second);
        outline->update((int64_t)client->config.outline_size);
 #ifdef USE_STROKER
@@ -987,10 +989,10 @@ int TitleText::button_press_event()
 int TitleText::handle_event()
 {
        window->fonts_popup->deactivate();
-       const wchar_t *wtext = get_wtext();
-       long wlen = wcslen(wtext);
+       const wchr_t *wtext = get_wtext();
+       long wlen = wstrlen(wtext);
        client->config.demand(wlen);
-       wcsncpy(client->config.wtext, wtext, client->config.wsize);
+       wstrncpy(client->config.wtext, wtext, client->config.wsize);
        client->config.wlen = wlen;
        window->update_stats();
        window->send_configure_change();
@@ -1236,8 +1238,10 @@ TitleDrag::TitleDrag(TitleMain *client, TitleWindow *window, int x, int y)
 
 Track *TitleDrag::get_drag_track()
 {
-       return !client->server->plugin ? 0 :
-               client->server->plugin->track;
+       PluginServer *server = client->server;
+       int plugin_id = server->plugin_id;
+       Plugin *plugin = server->edl->tracks->plugin_exists(plugin_id);
+       return !plugin ? 0 : plugin->track;
 }
 int64_t TitleDrag::get_drag_position()
 {