foo_uie_wsh_panel_mod

Список разделов foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #41 evil » 25.11.2009, 20:09

2angry_dog
angry_dog:Можно ли сделать две Wsh Panelи на громкость и трек? Подскажите пожалуйста как.
В настройках Columns UI закладка Layout: добавить необходимое количество панелей через контекстное меню в дереве.
Нужно создать свою желаемую структуру splitter-ами, и там добавить WSH панели.

Columns UI: Как вставить панель в интерфейс?
Последний раз редактировалось evil 26.11.2009, 22:41, всего редактировалось 1 раз.
evil M
Репутация: 67
С нами: 17 лет 11 месяцев

Сообщение #42 Gad_str » 11.01.2010, 21:14

Заменил foo_uie_wsh_panel.dll на foo_uie_wsh_panel_mod.dll а старые скрипты не подходят пишет ошибка и не может сохранить.
[code="громкость старый скрипт"]//--------
var g_font = gdi.Font(-10, 800, 0, 0, "Segoe UI");
var g_drag = 0;
//--------
function RGB(r,g,b){ return (0xff000000|(r0)
fb.VolumeUp();
else
fb.VolumeDown();
}
//--------
function on_volume_change(val){
window.Repaint();
}
//EOF[/code]

[code="полоса проигрования старый скрипт"]//--------
var weight_normal =400;
var weight_bold   =800;
var italic_no =0;
var italic    =1;
var uline_no  =0;
var uline     =1;
//--------
var align_top   =0;
var align_middle=1;
var align_bottom=2;
var align_left  =0;
var align_center=1;
var align_right =2;
//--------
var trim_no     =0;
var trim_chara  =1;
var trim_word   =2;
var trim_elips_chara =3;
var trim_elips_word  =4;
var trim_elips_path  =5;
//--------
var flag_rtl        =0x0001;
var flag_vert       =0x0002;
var flag_nofit      =0x0004;
var flag_dispctrl   =0x0020;
var flag_nofallback =0x0400;
var flag_trailspace =0x0800;
var flag_nowrap     =0x1000;
var flag_linelimit  =0x2000;
var flag_noclip     =0x4000;
//--------
function StrFmt(alignH,alignV,trim,flag){ return ((alignH0) return h.toString()+":"+zpad(m)+":"+zpad(s);
return m.toString()+":"+zpad(s);
}
//--------
var g_font = gdi.Font(-11, weight_bold, italic_no, uline_no, "Segoe UI");
var g_titlefmt = fb.TitleFormat("%playback_time% / %length%");
var g_fileinfo = null;
var g_drag = 0;
var g_drag_seek = 0;
//--------
function on_paint(gr){
var ww = window.Width;
var wh = window.Height;
var pos = 0;
var length = fb.PlaybackLength;
var txt;
if(length > 0){
if(g_drag){
pos = window.Width * g_drag_seek;
txt = "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt(length);
}
else{
pos = window.Width * (fb.PlaybackTime / length);
txt = g_titlefmt.Eval();
}
}
gr.FillGradRect(0, 0, pos, wh, 90, RGB(16,38,50), RGB(6,6,8));
gr.FillGradRect(pos, 0, ww-pos, wh, 90, RGB(6,6,8), RGB(17,30,29));
gr.DrawString(txt, g_font, RGB(255,255,255), 0, 0, ww, wh,
StrFmt(align_center, align_middle, trim_no, flag_nowrap | flag_noclip));
gr.DrawRect(0,0, ww-1, wh-1, 1, RGB(47,60,59));
}
//--------
function on_mouse_lbtn_down(x,y){
g_drag = 1;
}
//--------
function on_mouse_lbtn_up(x,y){
if(g_drag){
g_drag = 0;
g_drag_seek = x / window.Width;
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
}
}
//--------
function on_mouse_move(x,y){
if(g_drag){
g_drag_seek = x / window.Width;
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
window.Repaint();
}
}
//--------
function on_playback_new_track(info){
window.Repaint();
}
//--------
function on_playback_stop(){
window.Repaint();
}
//--------
function on_playback_seek(time){
window.Repaint();
}
//--------
function on_playback_time(time){
window.Repaint();
}
//EOF[/code]
Что не так подскажите и как в них прозрачность добавить????
foo_uie_wsh_panel_mod.dll  1.2.1
Gad_str
Репутация: 1
С нами: 15 лет

Сообщение #43 Максим » 11.01.2010, 22:07

Вот рабочие версии.

Громкость, новый скрипт
Код: Выделить всё
//--------
var g_font = gdi.Font("Segoe UI", 10);
var g_drag = 0;
//--------
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
//--------
function on_paint(gr){
   var ww = window.Width;
   var wh = window.Height;
   var volume = fb.Volume;
   var pos = window.Width * ((100+volume)/100);
   var txt= Math.round(volume*100)/100 + " dB";
   gr.FillGradRect(0, 0, pos, wh, 90, RGB(16,38,50), RGB(6,6,8));
   gr.FillGradRect(pos, 0, ww-pos, wh, 90, RGB(6,6,8), RGB(17,30,29));
   gr.DrawString(txt, g_font, RGB(255,255,255), 0, 0, ww, wh, 0x11005000);
   gr.DrawRect(0,0, ww-1, wh-1, 1.0, RGB(47,60,59));
}
//--------
function on_mouse_lbtn_down(x,y){
   g_drag = 1;
}
//--------
function on_mouse_lbtn_up(x,y){
   on_mouse_move(x,y);
   g_drag = 0;
}
//--------
function on_mouse_move(x,y){
   if(g_drag){
      var v = x / window.Width;
      v = (v<0) ? 0 : (v<1) ? v : 1;
      v = -100 * (1-v);
      if(fb.Volume != v)
         fb.Volume = v;
   }
}
//--------
function on_mouse_wheel(delta){
   if(delta>0)
      fb.VolumeUp();
   else
      fb.VolumeDown();
}
//--------
function on_volume_change(val){
   window.Repaint();
}
//EOF

Полоска
Код: Выделить всё
//--------
var align_top   =0;
var align_middle=1;
var align_bottom=2;
var align_left  =0;
var align_center=1;
var align_right =2;
//--------
var trim_no     =0;
var trim_chara  =1;
var trim_word   =2;
var trim_elips_chara =3;
var trim_elips_word  =4;
var trim_elips_path  =5;
//--------
var flag_rtl        =0x0001;
var flag_vert    B
var flag_trailspace =0x0800;
var flag_nowrap     =0x1000;
var flag_linelimit  =0x2000;
var flag_noclip     =0x4000;
//--------
function StrFmt(alignH,alignV,trim,flag){ return ((alignH<%   =0x0002;
var flag_nofit      =0x0004;
var flag_dispctrl   =0x0020;
var flag_nofallback =0x04003C28)|(alignV<<24)|(trim<<20)|flag); }
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
//--------
function TimeFmt(t){
   var zpad = function(n){
      var str = n.toString();
      return (str.length<2) ? "0"+str : str;
   }
   var h = Math.floor(t/3600); t-=h*3600;
   var m = Math.floor(t/60); t-=m*60;
   var s = Math.floor(t);
   if(h>0) return h.toString()+":"+zpad(m)+":"+zpad(s);
   return m.toString()+":"+zpad(s);
}
//--------
var g_font = gdi.Font("Segoe UI",11);
var g_titlefmt = fb.TitleFormat("%playback_time% / %length%");
var g_fileinfo = null;
var g_drag = 0;
var g_drag_seek = 0;
//--------
function on_paint(gr){
   var ww = window.Width;
   var wh = window.Height;
   var pos = 0;
   var length = fb.PlaybackLength;
   var txt;
   if(length > 0){
      if(g_drag){
         pos = window.Width * g_drag_seek;
         txt = "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt(length);
      }
      else{
         pos = window.Width * (fb.PlaybackTime / length);
         txt = g_titlefmt.Eval();
      }
   }
   gr.FillGradRect(0, 0, pos, wh, 90, RGB(16,38,50), RGB(6,6,8));   
   gr.FillGradRect(pos, 0, ww-pos, wh, 90, RGB(6,6,8), RGB(17,30,29));
   gr.DrawString(txt, g_font, RGB(255,255,255), 0, 0, ww, wh,
      StrFmt(align_center, align_middle, trim_no, flag_nowrap | flag_noclip));
   gr.DrawRect(0,0, ww-1, wh-1, 1, RGB(47,60,59));
}
//--------
function on_mouse_lbtn_down(x,y){
   g_drag = 1;
}
//--------
function on_mouse_lbtn_up(x,y){
   if(g_drag){
      g_drag = 0;
      g_drag_seek = x / window.Width;
      g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
      fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
   }
}
//--------
function on_mouse_move(x,y){
   if(g_drag){
      g_drag_seek = x / window.Width;
      g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
      window.Repaint();
   }
}
//--------
function on_playback_new_track(info){
   window.Repaint();
}
//--------
function on_playback_stop(){
   window.Repaint();
}
//--------
function on_playback_seek(time){
   window.Repaint();
}
//--------
function on_playback_time(time){
   window.Repaint();
}
//EOF
Максим M
Аватара
Репутация: 93
С нами: 17 лет

Сообщение #44 Gad_str » 12.01.2010, 01:04

Максим:Вот рабочие версии.

Громкость заработала :)
А полоска неполучается вот что пишет когда сохраняю :-( %)
Scripting Engine Initialization Failed (GUID: 531712C0-29DD-4043-8820-3DE2D6B936C1, CODE: 0x80020101)
Check the console for more detailed information (Always caused by unexcepted script error).


И как в них прозрачность добавить????
Последний раз редактировалось Gad_str 12.01.2010, 01:18, всего редактировалось 1 раз.
Gad_str
Репутация: 1
С нами: 15 лет

Сообщение #45 Максим » 12.01.2010, 15:14

Gad_str
Что сказано в консоли?
Максим M
Аватара
Репутация: 93
С нами: 17 лет

Сообщение #46 Gad_str » 12.01.2010, 16:09

Максим:Gad_str
Что сказано в консоли?

Спасибо что помог все сам сделал.
Gad_str
Репутация: 1
С нами: 15 лет

Сообщение #47 sidorov » 22.02.2010, 19:11

У меня проблема c WSH Panel Mod.
Скрипты на домашнем компе с WinXP SP3 professional работают все, а на нетбуке с WinXP Home Edition работают не все - выдается ошибка. Подскажите в чем проблема.
sidorov
Репутация: 0
С нами: 17 лет 5 месяцев

Сообщение #48 Zin-Uru » 22.02.2010, 21:48

У меня такой вопрос. Есть меню, сделанное на WSH (из XChange 3.6.0). Вставил его и в другую сборку (т.к. такой вариант хорош - на ХР все выглядит так же, как и на других Виндах, ничего не съезжает).
Сейчас скрипт выглядит так:
Код: Выделить всё
//=================================================// Images directory
var bt_dir = fb.FoobarPath+"images\\eiko\\";


//=================================================// Tools
function RGB(r, g, b) {
   return (0xff000000 | (r << 16) | (g << 8) | (b));
}

//Text formatting function
function StringFormat() {
   var h_align = 0, v_align = 0, trimming = 0, flags = 0;
   switch (arguments.length)
   {
      // fall-thru
      case 4:
         flags = arguments[3];
      case 3:
         trimming = arguments[2];
      case 2:
         v_align = arguments[1];
      case 1:
         h_align = arguments[0];
         break;
      default:
         return 0;
   }
   return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
}

StringAlignment = {Near: 0,Centre: 1,Far: 2};

var l_stringformat = StringFormat(StringAlignment.Near, StringAlignment.Centre);
var c_stringformat = StringFormat(StringAlignment.Centre, StringAlignment.Centre);
var r_stringformat = StringFormat(StringAlignment.Far, StringAlignment.Centre);

var PlaybackOrder = {
Default: 0,
RepeatPlaylist: 1,
RepeatTrack: 2,
Random: 3,
ShuffleTracks: 4,
ShuffleAlbums: 5,
ShuffleFolders: 6
}

//=================================================// OBJECT button
button = function () {
   this.font = gdi.Font("Segoe UI", 12, 0);
   this.label_normal_colour = RGB(000,000,000);
   this.label_hover_colour = RGB(000,000,000);   
   this.label_down_colour = RGB(255,255,255);
   
   this.ButtonStates = {normal: 0,hover: 1,down: 2};
      
   this.create = function (path_normal, path_hover, path_down, label_button){
         this.normal = gdi.Image(path_normal);
         this.hover = gdi.Image(path_hover);
         this.down = gdi.Image(path_down);
         this.text = label_button;
         this.w = this.normal.Width;
         this.h = this.normal.Height;
         this.x = 0;
         this.y = 0;
         this.g_timer_counter=0;
         this.state = this.ButtonStates.normal;
   }

   this.ontimer = function (id){
      if(this.g_timer)
      {
         switch(id)
         {
            case this.g_timer.ID:
               if(this.g_timer_sens==1)
               {
                  this.g_timer_counter=(this.g_timer_counter<10)?this.g_timer_counter+1:this.g_timer_counter;
                  if (this.g_timer_counter==10) this.g_timer && window.KillTimer(this.g_timer);
               } else {
                  this.g_timer_counter=(this.g_timer_counter>0)?this.g_timer_counter-1:0;
                  if (this.g_timer_counter==0) this.g_timer && window.KillTimer(this.g_timer);
               }
               //window.RepaintRect(this.x, this.y, this.w+1, this.h+1);
                    window.Repaint();
               break;
         }
      }
   }

   this.draw = function (gr, bx, by, alpha, label){
      this.x = bx;
      this.y = by;
      switch(this.state)
      {
         case this.ButtonStates.normal:
            this.img_displayed = this.normal;
            this.label_colour = this.label_normal_colour;
            break;
         case this.ButtonStates.hover:
            this.img_displayed = this.hover;
            this.label_colour = this.label_hover_colour;
            break;
         case this.ButtonStates.down:
            this.img_displayed = this.down;
            this.label_colour = this.label_down_colour;
            break;
      }
      gr.DrawImage(this.img_displayed, this.x, this.y+1, this.w, this.h, 0, 0, this.w, this.h, 0, 205+this.g_timer_counter*5);
      if(label!="")
      {
         gr.SetTextRenderingHint(5);
         gr.DrawString(label, this.font, this.label_colour, bx, by, this.w, this.h, c_stringformat);
      }
   }

   this.checkstate = function (event, x, y){
      if (x>=this.x && x<=this.x+this.w && y>=this.y && y<=this.y+this.h)
      {
         this.is_hover=true
      } else {
         this.is_hover=false;
      }
      switch(event)
      {
      case "down":
         if (this.is_hover)
         {
            this.state=this.ButtonStates.down;
         } else if (this.state==this.ButtonStates.down) {
            this.state=this.ButtonStates.normal;
            this.g_timer && window.KillTimer(this.g_timer);
            this.g_timer_sens=0;
            this.g_timer = window.CreateTimerInterval(40);
         }
         break;
      case "move":
         if (this.is_hover)
         {
            if(this.state!=this.ButtonStates.down)
            {
               if(this.state!=this.ButtonStates.hover)
               {
                  this.g_timer_sens=1;
                        this.g_timer && window.KillTimer(this.g_timer);
                  this.g_timer = window.CreateTimerInterval(25);
                  this.state=this.ButtonStates.hover;
               }
            }
         } else if (this.state==this.ButtonStates.hover) {
            this.state=this.ButtonStates.normal;
            this.g_timer && window.KillTimer(this.g_timer);
            this.g_timer_sens=0;
            this.g_timer = window.CreateTimerInterval(40);
         }
         break;
      case "up":
         if (this.is_hover)
         {
            if(this.state==this.ButtonStates.down)
            {
               this.state=this.ButtonStates.hover;
            } else {
               this.state=this.ButtonStates.normal;
                    this.g_timer && window.KillTimer(this.g_timer);
                    this.g_timer_sens=0;
                    this.g_timer = window.CreateTimerInterval(40);
            }
         } else {
            this.state=this.ButtonStates.normal;
            this.g_timer && window.KillTimer(this.g_timer);
            this.g_timer_sens=0;
            this.g_timer = window.CreateTimerInterval(40);
         }
         break;
      case "leave":
         this.state=this.ButtonStates.normal;
         this.g_timer && window.KillTimer(this.g_timer);
         this.g_timer_sens=0;
         this.g_timer = window.CreateTimerInterval(40);
         break;
      }
      this.is_hover && window.RepaintRect(this.x, this.y, this.w+1, this.h+1);
      return this.state;
   }
}

//=================================================// Global Variables
var ww;
var wh;

var mybutton = Array (new button, new button, new button, new button, new button, new button, new button);
var buttons_padx=0;
var buttons_pady=0;

var bt_w=22;
var scrollstep=bt_w+2;
var WshShell = new ActiveXObject("WScript.Shell");

//==========================================================================/ on_paint
function on_paint(gr){
   var i;

   //draw buttons
    for (i=0;i<mybutton.length;i++)
    {
        switch(i)
        {
            case 0:
                mybutton[i].draw(gr, buttons_padx+0, buttons_pady-1, 255, "File");
                break;
            case 1:
                mybutton[i].draw(gr, buttons_padx+34+0, buttons_pady-1, 255, "Edit");
                break;
            case 2:
                mybutton[i].draw(gr, buttons_padx+34+36+0, buttons_pady-1, 255, "View");
                break;
            case 3:
                mybutton[i].draw(gr, buttons_padx+34+36+41+0, buttons_pady-1, 255, "Playback");
                break;
            case 4:
                mybutton[i].draw(gr, buttons_padx+34+36+41+63+0, buttons_pady-1, 255, "Library");
                break;
            case 5:
                mybutton[i].draw(gr, buttons_padx+34+36+41+63+52+0, buttons_pady-1, 255, "Help");
                break;    
        }
    }

}

//==========================================================================/ on_size
function on_size(){
   var i;
   ww = window.Width;
   wh = window.Height;

   buttons_padx = 0;
   buttons_pady = 1;

   // initialize button's attributs
   for (i=0;i<mybutton.length;i++)
   {
      switch(i)
      {
         case 0:
            mybutton[i].create(bt_dir+"menubox1.png", bt_dir+"menubox1_h.png", bt_dir+"menubox1_h.png","");
            break;
         case 1:
            mybutton[i].create(bt_dir+"menubox2.png", bt_dir+"menubox2_h.png", bt_dir+"menubox2_h.png","");
            break;
         case 2:
            mybutton[i].create(bt_dir+"menubox3.png", bt_dir+"menubox3_h.png", bt_dir+"menubox3_h.png","");
            break;
         case 3:
            mybutton[i].create(bt_dir+"menubox5.png", bt_dir+"menubox5_h.png", bt_dir+"menubox5_h.png","");
            break;
         case 4:
            mybutton[i].create(bt_dir+"menubox4.png", bt_dir+"menubox4_h.png", bt_dir+"menubox4_h.png","");
            break;
         case 5:
            mybutton[i].create(bt_dir+"menubox3.png", bt_dir+"menubox3_h.png", bt_dir+"menubox3_h.png","");
            break;
      }
   }
}

//==========================================================================/ lbtn_down
function on_mouse_lbtn_down(x,y){
   var i;   
   for (i=0;i<mybutton.length;i++)
   {
      mybutton[i].checkstate("down",x,y);
   }

}

//==========================================================================/ lbtn_up
function on_mouse_lbtn_up(x,y){
   var i;   
   for (i=0;i<mybutton.length;i++)
   {
      switch(i)
      {
         case 0:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("File", 1 ,20);
            }
            break;
         case 1:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("Edit", 34+1 ,20);
            }
            break;
         case 2:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("View", 34+36+1 ,20);
            }
            break;
         case 3:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("Playback", 34+36+41+1 ,20);
            }
            break;
         case 4:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("Library", 34+36+41+63+1 ,20);
            }
            break;
         case 5:
            if (mybutton[i].checkstate("up",x,y)==1) {
                    draw_menu("Help", 34+36+41+63+52+1 ,20);
            }
            break;
      }
   }

}

//===========================================================================/ mouse_move
function on_mouse_move(x,y){
   var i;   
   for (i=0;i<mybutton.length;i++)
   {
      mybutton[i].checkstate("move",x,y);
   }

}

//===========================================================================/ mouse_leave
function on_mouse_leave(){
   var i;   
   for (i=0;i<mybutton.length;i++)
   {
      mybutton[i].checkstate("leave",0,0);
   }

}

//===========================================================================/ on timer
function on_timer(id){
   var i;
   for(i=0;i<mybutton.length;i++)
   {
      mybutton[i].ontimer(id);
   }
}

//===========================================================================/ playback_starting
function on_playback_starting(cmd, is_paused){
}

//===========================================================================/ playback_time (every sec.)
function on_playback_time(time){
}

// ==========================================================================/ on_playlist_stop_after_current_changed
function on_playlist_stop_after_current_changed(state) {
}

//==========================================================================/ playback_stop
function on_playback_stop(){
}

//==========================================================================/ playback_pause
function on_playback_pause(state){
}

// =========================================================================/ playback_oreder_changed
function on_playback_order_changed(new_order_index) {
}

//==========================================================================/ mouse wheel
function on_mouse_wheel(delta){
}

//==========================================================================/ draw Menu
function draw_menu(my_entry, x ,y) {
var menuman = fb.CreateMainMenuManager();
var menu = window.CreatePopupMenu();
var ret;

// Build a menu based on "View"
menuman.Init(my_entry);
menuman.BuildMenu(menu, 1, 128);

// Show menu
ret = menu.TrackPopupMenu(x, y);

fb.trace(ret);

if (ret > 0)
{
// Execute menu commands
// "ID" is based on which is generated
menuman.ExecuteByID(ret - 1);
}

menuman.Dispose();
menu.Dispose();
}

Так вот, мне нужно, чтобы после нажатия кнопки пока подменю все еще висит в развернутом состоянии, картинка кнопки была такой же, как при наведении на нее мышки в других случаях. Когда же развернутое подменю закрывается, все должно возвращаться к исходному виду.

В коде есть для описания кнопки три состояния: normal, hover, down. Так вот, первые два работают как положено, а последнее не как я описал выше, а всего лишь какую-то долю секунды. Что нужно поправить в коде, чтобы картинки подгружались и в последнем случае как надо?
Последний раз редактировалось Zin-Uru 22.02.2010, 21:50, всего редактировалось 1 раз.
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #49 bulletproof2k » 02.06.2012, 01:18

Помогите с написанием кнопки вертикального Volume Bar вот как она должна выглядеть:
Вложения
Volume Bar Vertical.PNG
Volume Bar Vertical.PNG (896 байт) Просмотров: 4525
bulletproof2k M
Аватара
Откуда: Воронеж
Репутация: -19
С нами: 11 лет 11 месяцев

Сообщение #50 onv » 11.09.2012, 14:07

onv M
Откуда: Харьков
Репутация: 52
С нами: 11 лет 11 месяцев

Сообщение #51 onv » 07.10.2012, 20:36

1.5.5

v1.5.5
- FIX: Fix a bug that preprocessor "tooltip" didn't work at all.
- ADD: Added GetColorScheme() method to IGdiBitmap interface.
onv M
Откуда: Харьков
Репутация: 52
С нами: 11 лет 11 месяцев

Сообщение #52 onv » 16.10.2012, 11:48

v1.5.6
- FIX: 'Clear' button in Properties doesn't work since v1.5.5.
onv M
Откуда: Харьков
Репутация: 52
С нами: 11 лет 11 месяцев

Сообщение #53 equinox » 23.10.2012, 15:23

Как добавить содержимое заданной папки в плейлист? plman.InsertPlaylistItems рабоает уже с IFbMetadbHandle, а в нем свойство String Path только для чтения. Как понимаю, нужно симулировать drag&drop... как это делается?
equinox
Репутация: 2
С нами: 11 лет 11 месяцев

Сообщение #54 onv » 23.10.2012, 19:00

А что, WshShell.Run(foopath+"\\foobar2000.exe /immediate /add "+"\""+твой путь+"\""); не работает ?
onv M
Откуда: Харьков
Репутация: 52
С нами: 11 лет 11 месяцев

Сообщение #55 equinox » 24.10.2012, 01:41

onv работает! Спасибо. Забываю иногда про возможности командной строки.
equinox
Репутация: 2
С нами: 11 лет 11 месяцев

Сообщение #56 EVA010 » 19.01.2015, 17:56

И после гемора с поиском и нахождением всех плагинов, - сюйпйииииз!!!

Scripting Engine Initialization Failed (Reel to Reel Pioneer RT 909 Panel v3.0 by iprad, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

Какое счастье, что мне пришло в голову сделать бэкап фубара, прежде, чем закидывать в него столько мусора и ереси, чтобы получить в итоге кукиш.
EVA010
Гость

Пред.

Вернуться в Плагины