Модификация темы DarkOne v4

Список разделов Аудиоплеер foobar2000 Сборки Релизы сборок

Описание: Проверенные финальные версии сборок.

Сообщение #81 vladj » 02.06.2015, 21:39

AHAPXICT писал(а):Так как старые команды удалены из новой версии WSH панели
Спасибо огромное за науку... :smile:
HTPC Termaltake, eGlobal i5-7200, Asrock Beebox J3160, Onkyo 525E, цап SMSL, фронт Yamaha 8900.
vladj M
Гуру
Аватара
Откуда: Пермский край
Репутация: 335
С нами: 8 лет 3 месяца

Сообщение #82 sot » 02.06.2015, 22:53

Они заменены как устаревшие, о чем сказано в CHANGELOG.
Спойлер
v1.5.0 Beta 4
- ADD: Add new timer methods: window.SetInterval(), window.SetTimeout(), window.ClearInterval() and window.ClearTimeout().
- CHG: Mark old timer methods as obsolete: window.CreateTimerInterval(), window.CreateTimerTimeout(), window.KillTimer(), please use the new ones.

В Interface.API устаревшие функции присутсвуют, а значит пока еще должны работать.
Спойлер
window.ID
window.Width
window.Height
window.InstanceType
window.MinWidth
window.MinHeight
window.MaxWidth
window.MaxHeight
window.DlgCode
window.IsTransparent
window.IsVisible
window.Repaint([force])
window.RepaintRect(x, y, w, h[, force])
window.CreatePopupMenu()
window.CreateTimerTimeout(timeout)
window.CreateTimerInterval(delay)
window.KillTimer(ITimerObj)
window.SetInterval(func, delay)
window.ClearInterval(timerID)
window.SetTimeout(func, delay)
window.ClearTimeout(timerID)
window.NotifyOthers(name, info)
window.WatchMetadb(IFbMetadbHandle)
window.UnWatchMetadb()
window.CreateTooltip()
window.ShowConfigure()
window.ShowProperties()
window.GetProperty(name[, defaultval])
window.SetProperty(name, val)
window.GetBackgroundImage()
window.SetCursor(id)
window.GetColorCUI(type[, client_guid])
window.GetFontCUI(type[, client_guid])
window.GetColorDUI(type)
window.GetFontDUI(type)
window.CreateThemeManager(classlist)

gdi.Font(name, ptSize[, style])
gdi.Image(path)
gdi.CreateImage(w, h)
gdi.CreateStyleTextRender([pngmode])
gdi.LoadImageAsync(window_id, path)
gdi.AddFontResEx(path,fl)
gdi.RemoveFontResEx(path,fl)
gdi.CreatePrivateFontCollection()
gdi.CloneGraphics(IGdiGraphics,x,y,w,h)

fb.ComponentPath
fb.FoobarPath
fb.ProfilePath
fb.IsPlaying
fb.PlaybackLength
fb.IsPaused
fb.PlaybackTime
fb.PlaybackOrder
fb.StopAfterCurrent
fb.CursorFollowPlayback
fb.PlaybackFollowCursor
fb.Volume
fb.PlaylistCount
fb.ActivePlaylist
fb.PlayingPlaylist
fb.trace(...)
fb.ShowPopupMessage(msg[, title, iconid])
fb.CreateProfiler([name])
fb.TitleFormat(expression)
fb.GetNowPlaying()
fb.GetFocusItem([force])
fb.GetSelection()
fb.GetSelectionType()
fb.GetSelections([flags])
fb.AcquireUiSelectionHolder()
fb.Exit()
fb.Play()
fb.Stop()
fb.Pause()
fb.PlayOrPause()
fb.Next()
fb.Prev()
fb.Random()
fb.VolumeDown()
fb.VolumeUp()
fb.VolumeMute()
fb.AddDirectory()
fb.AddFiles()
fb.ShowConsole()
fb.ShowPreferences([guid_str])
fb.ClearPlaylist()
fb.LoadPlaylist()
fb.LoadPlaylistV2(path);
fb.SavePlaylist()
fb.SavePlaylistV2(path,handles,overwrite)
fb.RunMainMenuCommand(command)
fb.RunContextCommand(command[, flags])
fb.RunContextCommandWithMetadb(command, handle_or_handles[, flags])
fb.CreateContextMenuManager()
fb.CreateMainMenuManager()
fb.IsMetadbInMediaLibrary(metadb)
fb.GetPlaylistName(idx)
fb.CreatePlaylist(idx, name)
fb.RemovePlaylist(idx)
fb.MovePlaylist(from, to)
fb.RenamePlaylist(idx, name)
fb.DuplicatePlaylist(from, name)
fb.IsAutoPlaylist(idx)
fb.CreateAutoPlaylist(idx, name, query[, sort, flags])
fb.ShowAutoPlaylistUI(idx)
fb.PlaylistItemCount(idx)

utils.CheckComponent(name[, is_dll])
utils.CheckFont(name)
utils.GetAlbumArt(rawpath[, art_id, need_stub])
utils.GetAlbumArtV2(metadb[, art_id, need_stub])
utils.GetAlbumArtV3(metadb, pattern [, art_id, need_stub,load_embed, use_fallback])
utils.GetAlbumArtEmbedded(rawpath[, art_id])
utils.GetAlbumArtAsync(window_id, IFbMetadbHandle[, art_id, need_stub, only_embed])
utils.ReadINI(filename, section, key[, defaultval])
utils.WriteINI(filename, section, key, val)
utils.IsKeyPressed(vkey)
utils.PathWildcardMatch(pattern, str)
utils.ReadTextFile(filename[, codepage])
utils.GetSysColor(index)
utils.GetSystemMetrics(index)
utils.Glob(pattern[, exc_mask, inc_mask])
utils.FileTest(path, mode)
utils.GetWND(class_name)
utils.CreateWND(window_id)
utils.ReleaseCapture()
utils.IsAeroEnabled()
utils.DecodeBase64Image(str)
utils.GetClipboardText()
utils.SetClipboardText(str)
utils.PlaySoundX(path,flag)
utils.LoadCursorX(path)
utils.SetCursorX(handle)
utils.ReleaseCursorX(handle)
utils.IsVistaOrGreater()
utils.LCMapString(str,lcid,flag)
utils.CreateHttpRequest(type_str)
utils.GetWindowsVersion()
utils.PrintPreferencePageGUID()

plman.PlaybackOrder
plman.ActivePlaylist
plman.PlayingPlaylist
plman.PlaylistCount
plman.PlaylistItemCount
plman.PlaylistRecyclerManager
plman.InsertPlaylistItems(playlistIndex, base, handles[, select])
plman.InsertPlaylistItemsFilter(playlistIndex, base, handles[, select])
plman.MovePlaylistSelection(playlistIndex, delta)
plman.RemovePlaylistSelection(playlistIndex[, crop])
plman.GetPlaylistSelectedItems(playlistIndex)
plman.GetPlaylistItems(playlistIndex)
plman.SetPlaylistSelectionSingle(playlistIndex, itemIndex, state)
plman.SetPlaylistSelection(playlistIndex, affectedItems, state)
plman.ClearPlaylistSelection(playlistIndex)
plman.GetPlaylistFocusItemIndex(playlistIndex)
plman.GetPlaylistFocusItemHandle()
plman.SetPlaylistFocusItem(playlistIndex, itemIndex)
plman.SetPlaylistFocusItemByHandle(playlistIndex, itemHandle)
plman.GetPlaylistName(idx)
plman.CreatePlaylist(idx, name)
plman.RemovePlaylist(idx)
plman.MovePlaylist(from, to)
plman.RenamePlaylist(idx, name)
plman.DuplicatePlaylist(from, name)
plman.EnsurePlaylistItemVisible(playlistIndex, itemIndex)
plman.GetPlayingItemLocation()
plman.ExecutePlaylistDefaultAction(playlistIndex, playlistItemIndex)
plman.CreatePlaybackQueueItem()
plman.RemoveItemFromPlaybackQueue(index)
plman.RemoveItemsFromPlaybackQueue(affectedItems)
plman.AddPlaylistItemToPlaybackQueue(playlistIndex, playlistItemIndex)
plman.AddItemToPlaybackQueue(IFbMetadbHandle)
plman.GetPlaybackQueueCount()
plman.GetPlaybackQueueContents()
plman.FindPlaybackQueueItemIndex(handle, playlistIndex, playlistItemIndex)
plman.FlushPlaybackQueue()
plman.IsPlaybackQueueActive()
plman.IsPlaylistItemSelected(playlistIndex, itemIndex)
plman.SortByFormat(playlistIndex, pattern[, selOnly])
plman.SortByFormatV2(playlistIndex, pattern[, direction])
plman.ProcessLocationsAsync(urls)
plman.GetPlaylistAutoName(playlistIndex)
plman.PlaylistLock(playlistIndex,flag)
plman.PlaylistUnLock(playlistIndex)

gr.FillSolidRect(x, y, w, h, color)
gr.FillGradRect(x, y, w, h, angle, color1, color2, focus = 1.0)
gr.FillRoundRect(x, y, w, h, arc_width, arc_height, color)
gr.FillEllipse(x, y, w, h, color)
gr.FillPolygon(color, fillmode, points)
gr.FillPie(x,y,w,h,start_angle,sweep_angle,color)
gr.DrawPie(x,y,w,h,start_angle,sweep_angle,color)
gr.DrawLine(x1, y1, x2, y2, line_width, color)
gr.DrawRect(x, y, w, h, line_width, color)
gr.DrawRoundRect(x, y, w, h, arc_width, arc_height, line_width, color)
gr.DrawEllipse(x, y, w, h, line_width, color)
gr.DrawPolygon(color, line_width, points)
gr.DrawString(str, IGdiFont, color, x, y, w, h, flags = 0)
gr.GdiDrawText(str, IGdiFont, color, x, y, w, h, format = 0)
gr.DrawImage(IGdiBitmap, dstX, dstY, dstW, dstH, srcX, srcY, srcW, srcH, angle = 0, alpha = 255)
gr.GdiDrawBitmap(IGdiRawBitmap, dstX, dstY, dstW, dstH, srcX, srcY, srcW, srcH)
gr.MeasureString(str, IGdiFont, x, y, w, h, flags = 0)
gr.CalcTextWidth(str, IGdiFont)
gr.CalcTextHeight(str, IGdiFont)
gr.EstimateLineWrap(str, IGdiFont, max_width)
gr.SetTextRenderingHint(mode)
gr.SetSmoothingMode(mode)
gr.SetInterpolationMode(mode)
gr.GdiAlphaBlend(IGdiRawBitmap, dstX, dstY, dstW, dstH, srcX, srcY, srcW, srcH, alpha = 255)

# Callback function prototypes
on_mouse_lbtn_down(x, y, mask)
on_mouse_lbtn_up(x, y, mask)
on_mouse_lbtn_dblclk(x, y, mask)
on_mouse_rbtn_down(x, y, mask)
on_mouse_rbtn_up(x, y, mask)
on_mouse_rbtn_dblclk(x, y, mask)
on_mouse_mbtn_down(x, y, mask)
on_mouse_mbtn_up(x, y, mask)
on_mouse_mbtn_dblclk(x, y, mask)
on_mouse_move(x, y)
on_mouse_leave()
on_mouse_wheel(step)
on_key_down(vkey)
on_key_up(vkey)
on_char(code)
on_focus(is_focused)
on_paint(gr)
on_playlist_stop_after_current_changed(state)
on_cursor_follow_playback_changed(state)
on_playback_follow_cursor_changed(state)
on_notify_data(name, info)
on_get_album_art_done(metadb, art_id, image, image_path)
on_load_image_done(tid, image)
on_refresh_background_done()
on_item_played(metadb)
on_playback_starting(cmd, is_paused)
on_playback_new_track(metadb)
on_playback_stop(reason)
on_playback_seek(time)
on_playback_pause(state)
on_playback_edited()
on_playback_dynamic_info()
on_playback_dynamic_info_track()
on_playback_time(time)
on_playback_queue_changed(origin)
on_size()
on_volume_change(val)
on_playback_order_changed(new_order_index)
on_timer(timer_id)
on_item_focus_change(playlist, from, to)
on_metadb_changed(metadb, fromhook)
on_colors_changed()
on_font_changed()
on_playlist_switch()
on_script_unload()
on_playlists_changed()
on_selection_changed(metadb)
on_playlist_item_ensure_visible(playlist, item)
on_playlist_items_added(playlist)
on_playlist_items_reordered(playlist)
on_playlist_items_removed(playlist, new_count)
on_playlist_items_selection_change()
on_drag_enter(action, x, y, mask)
on_drag_over(action, x, y, mask)
on_drag_leave()
on_drag_drop(action, x, y, mask)
on_tooltip_custom_paint(gr)
on_http_run_done(cookie,string)
on_process_locations_done(metadbs)
sot
Новичок
Репутация: 1
С нами: 9 лет 3 месяца

Сообщение #83 beatss » 04.06.2015, 18:06

Подскажите пожалуйста,как отключить перемешивание треков?
beatss
Гость

Сообщение #84 sot » 05.06.2015, 04:17

Подскажите пожалуйста,как отключить перемешивание треков?
beatss
Гость
От меню, два шага вправо на ---> ЛКМ и там выбираешь нужный пункт контекстного меню
sot
Новичок
Репутация: 1
С нами: 9 лет 3 месяца

Сообщение #85 beatss » 05.06.2015, 14:05

sot, Поясни пож. подробнее. Ни как не пойму. Треки стоят по порядку,но проигрывает вразнобой,как это исправить. Заранее спс.

Добавлено спустя 1 час 6 минут:
Всё,нашёл menu-playback-order-default
beatss
Гость

Сообщение #86 beatss » 07.06.2015, 13:49

Господа, есть ещё один вопрос. Как назначить эту сборку, плеером по умолчанию с ассоциацией файлов? Чтобы иконки были от foobar.
beatss
Гость

Сообщение #87 vladj » 07.06.2015, 20:29

В настройках, в Shell Integration ...ну или по любому треку в проводнике, открыть с помощью, выбрать, указать путь к экзешнику.
HTPC Termaltake, eGlobal i5-7200, Asrock Beebox J3160, Onkyo 525E, цап SMSL, фронт Yamaha 8900.
vladj M
Гуру
Аватара
Откуда: Пермский край
Репутация: 335
С нами: 8 лет 3 месяца

Сообщение #88 beatss » 08.06.2015, 13:36

Ок, а как сделать,чтобы foobar подхватил свои иконки?
beatss
Гость

Сообщение #89 Rollers » 08.06.2015, 14:15

beatss писал(а):Ок, а как сделать,чтобы foobar подхватил свои иконки?
ответ же выше, пост смотри
Rollers M
Бывалый
Возраст: 41
Откуда: Минск, Беларусь
Репутация: 8
С нами: 6 лет

Сообщение #90 beatss » 08.06.2015, 15:57

Ещё раз всё прочитал,но так и не понял,как сделать ,чтобы иконки медиа файлов отображались родные от foobar,а не от WMP . Иконки положил в D:\Program Files\foobar2000\icons.
beatss
Гость

Сообщение #91 beatss » 09.06.2015, 15:15

Разобрался сам.Сделал всё ручками,с помощью проги Default Programs Editor.
beatss
Новичок
Репутация: 0
С нами: 2 года 11 месяцев

Сообщение #92 maradoff » 03.07.2015, 23:46

Подскажите пожалуйста.... как вернуть красный крестик, в верхний правый угол....?
maradoff
Новичок
Репутация: 0
С нами: 4 года 3 месяца

Сообщение #93 AHAPXICT » 04.07.2015, 06:04

maradoff, Menu\File\Preferences\Display\Main Window --> General --> Frame style: Default Кнопка управления(отключения, включения) заголовка есть на панели только в v 4.0, так как делалась только для этой версии лайаута.(смотреть шапку темы: Установка) И если вы активировали функцию " Hide caption" и переключились на другой лайаут то это будет доставлять подобные неудобства.
Media Library it's bad - explorer it's good!
AHAPXICT M
Автор темы, Мастер
Аватара
Возраст: 47
Откуда: Киев
Репутация: 146
С нами: 4 года 6 месяцев

Сообщение #94 maradoff » 04.07.2015, 18:51

Спасибо за ответ....! Спасибо за плеер...! Спасибо за работу...!
maradoff
Новичок
Репутация: 0
С нами: 4 года 3 месяца

Сообщение #95 Atrium-86 » 14.08.2015, 05:12

Доброго времени суток! Обожаю данную сборку и уже давно ей пользуюсь. Недавно перешел на новую, 4-ую версию - все замечательно, но не получается сделать так, чтобы на фоне плейлиста было полупрозрачное изображение, как на скриншоте в официальной странице темы на девиантарте:Изображение.
Там, после обращения, мне посоветовали обратится в русскоговорящий форум и вот я здесь! =)
Atrium-86
Новичок
Репутация: 0
С нами: 2 года 9 месяцев

Сообщение #96 AHAPXICT » 14.08.2015, 17:56

Atrium-86, это я и посоветовал :wink: Инструкция по настройке DarkOne v4 находится в папке: foobar2000/themes/DarkOne_v4.0/Manual_v4.0.pdf. Смотреть пункт 1.6 Background picture. Для отображения фоновой картинки под плей листом необходимо сначала положить изображение в папку с альбомом(название по умолчанию artist). Так как изображение артиста не всегда присутствует, данный скрипт использует другие изображения из папки. Замените текущие строки скрипта на указанные ниже.
Код: Выделить всё
// ----- ARTIST PICTURE -----
$set_ps_global(do.artist.pic,$findfile($directory_path(%path%)\artist.*,
$if($findfile($replace(%path%,%filename_ext%,)artist.*),
$replace(%path%,%filename_ext%,)artist.*,
$if($findfile($replace(%path%,%filename_ext%,)%artist%.*),
$replace(%path%,%filename_ext%,)%artist%.*,
$if($findfile($replace(%path%,%filename_ext%,)folder.*),
$replace(%path%,%filename_ext%,)folder.*,
$if($findfile($replace(%path%,%filename_ext%,)front.*),
$replace(%path%,%filename_ext%,)front.*,
$if($findfile($replace(%path%,%filename_ext%,)cover.*),
$replace(%path%,%filename_ext%,)cover.*,)))))))

$set_ps_global(do.artist.alpha,32)
Изменением значения альфа прозрачности(32 по умолчанию) можно добиться необходимой чёткости картинки.
Media Library it's bad - explorer it's good!
AHAPXICT M
Автор темы, Мастер
Аватара
Возраст: 47
Откуда: Киев
Репутация: 146
С нами: 4 года 6 месяцев

Сообщение #97 Atrium-86 » 14.08.2015, 21:08

AHAPXICT, круто - встретились на просторах родного рунета! Спасибо - помогло все супер! :smile:
Atrium-86
Новичок
Репутация: 0
С нами: 2 года 9 месяцев

Сообщение #98 mickav » 15.08.2015, 09:21

Уважаемый, AHAPXICT, поделитесь опытом пожалуйста:
по моему предположению, добавить новую кнопку в DarkOne можно через "add panel" далее выбираем один из пунктов и описываем действие через скрипт.
Подскажите, моё предположение верно ? если нет, буду благодарен за любой совет.
Хочу добавить себе кнопку переключающую аудио выход, а то часто нужно переключаться между SPDIF и "Линейным выходом" (использую WASAPI exclusive, push, соответственно через системный трей переключаться не получится).

Заранее благодарен,... и хорошая работа (это я касательно Вашей модификации)
mickav
Новичок
Репутация: 0
С нами: 3 года 9 месяцев

Сообщение #99 vladj » 15.08.2015, 12:49

mickav, смотри под спойлером...
Спойлер
ScreenShot21.png
HTPC Termaltake, eGlobal i5-7200, Asrock Beebox J3160, Onkyo 525E, цап SMSL, фронт Yamaha 8900.
vladj M
Гуру
Аватара
Откуда: Пермский край
Репутация: 335
С нами: 8 лет 3 месяца

Сообщение #100 mickav » 15.08.2015, 13:22

vladj, Спасибо, помогло !!! Элегантное решение, мне и в голову не приходило!
Но с кнопками повожусь, не всегда клавиатура под рукой бывает )
mickav
Новичок
Репутация: 0
С нами: 3 года 9 месяцев

Пред.След.

Вернуться в Релизы сборок