Программа формирования плейлиста для плеера из каталога.
Чтобы можно было ввести предварительно свой url, указал каталог с файлами, а программа разрисовала плейлист.
Забацайте для форума.
:help01:
техзадание и условия для плеера смотреть http://forum3.d-lan.dp.ua/index.php?topic=272.msg1554;topicseen#msg1554 (http://forum3.d-lan.dp.ua/index.php?topic=272.msg1554;topicseen#msg1554)
Как-то так (http://10.1.12.237/test_area/The_Real_Deal.php).
В IE не работает.
немножечко не так, пропадает сам путь к файлу
ведь сам смысыл, чтобы не выписывать путь.
В вернем ркне вводим url
например, для моего компа http://10.1.7.100/ (или просто ip 10.1.7.100)
в нижней также добавить файл
он должен убрать из пути имя диска, двоеточие и \, а также заменить все \ на /.
в идеfле есть два варианта, с выводом названия внизу иконки
[premiumbeat=http://10.1.7.100/Music/Sorted/Albums/New_Age/Fab_Four_-_Best_of_Kitaro/CD1 - Silence/01 Kitaro - Winds blows over the hill.mp3]01 Kitaro - Winds blows over the hill[/premiumbeat]
[premiumbeat =http://10.1.7.100/Music/Sorted/Albums/New_Age/Fab_Four_-_Best_of_Kitaro/CD1 - Silence/01 Kitaro - Winds blows over the hill.mp3]01 Kitaro - Winds blows over the hill[/premiumbeat]
или без, одна иконка
[premiumbeat]http://10.1.7.100/Music/Sorted/Albums/New_Age/Fab_Four_-_Best_of_Kitaro/CD1 - Silence/01 Kitaro - Winds blows over the hill.mp3[/premiumbeat]
[premiumbeat ]http://10.1.7.100/Music/Sorted/Albums/New_Age/Fab_Four_-_Best_of_Kitaro/CD1 - Silence/01 Kitaro - Winds blows over the hill.mp3[/premiumbeat]
обрати внимание в правильной ссылки пробела в [premiumbeat ] недолжно быть это только для просмотра
Два поля: "Path и Files"
В Path я, например, вписываю: ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/
В Files я тыкаю в "Добавить файлы" захожу в папку у себя на винте F:\Music\_Soundtrack\Final Fantasy VII\lossy и обвожу все файлы, которые там вижу.
Он генерирует такую вот строку (без пробела):
[premiumbeat =ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/01 - Sis puella magica!.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/02 - Salve, terrae magicae.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/03 - Gradus prohibitus.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/04 - Credens justitiam.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/05 - Clementia.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/06 - Desiderium.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/07 - Conturbatio.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/08 - Postmeridie.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/09 - Puella in somnio.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/10 - Umbra nigra.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/11 - Terror adhaerens.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/12 - Scaena felix.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/13 - Pugna cum maga.mp3][/premiumbeat]
Которую я и вписываю в сообщение:
[premiumbeat=ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/01 - Sis puella magica!.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/02 - Salve, terrae magicae.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/03 - Gradus prohibitus.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/04 - Credens justitiam.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/05 - Clementia.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/06 - Desiderium.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/07 - Conturbatio.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/08 - Postmeridie.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/09 - Puella in somnio.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/10 - Umbra nigra.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/11 - Terror adhaerens.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/12 - Scaena felix.mp3, ftp://10.1.12.237/Music/_Soundtrack/Mahou%20Shoujo%20Madoka%20Magika/Original%20Soundtrack%20I/13 - Pugna cum maga.mp3][/premiumbeat]
Что не так?
[premiumbeat=http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/01-acoustique_parfum-petite_etoile_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/02-ohm-g-homework_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/03-timo_camillo-i_can_fly_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/04-nor_elle-the_truth_-_(v_for_volkan_remix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/05-sin_plomo-nature_groove_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/06-eigenart-red_and_gold_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/07-tony_match-morning_sunrise_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/08-terry_lee_brown_junior-moody_afternoon_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/09-lemongrass-journey_to_a_star_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/10-alphawezen-days_-_(the_timewriter_remix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/11-forteba-save_the_memories_feat._katerina_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/12-manmachineman-electricity_babies_-_(de-phazz_remix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/13-gero-tu_me_manques_beaucoup_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/14-j._axel-this_time_-_(original_mix).mp3, http://10.1.7.100/Music/Sorted/Compilations/Chill Out/Bedroom.Esc.4/15-pete_gust-space_for_now_-_(original_mix).mp3]Bedroom Escapades[/premiumbeat]
Я и говорю, что если ручками путь прописать, то работает, но весь смысл в том, что бы не прописывать, а ввести только ip компа и выбрать файлы.
Цитироватьон должен убрать из пути имя диска, двоеточие и \, а также заменить все \ на /.
Цитироватьввести только ip компа и выбрать файлы.
Структура папок на http- и ftp-ресурсах не всегда совпадает с реальной структурой папок. Заменой имени диска и разворачиванием слешей в другую сторону никак не обойтись.
Пути к файлам, с некоторых пор, из соображений безопасности, нельзя передавать через элемент <input type="file">. Стопудово доступны только их имена и размер. И ещё всякие мелочи, в зависимости от броузера.
Других способов получить список имён файлов на пользовательском компьютере, не вбивая их вручную, я не способен придумать.
Я в этом не шарю, поэтому судить не могу. Но задача не стоит, чтобы решение было написано для web.
Цитата: Catcatcat от 27-08-2011, 23:13:30
Я в этом не шарю, поэтому судить не могу. Но задача не стоит, чтобы решение было написано для web.
Вот исходник моего решения на случай, если это вдохновит кого-то ещё: исходник (http://10.1.12.237/Show_Source.php?test_area/The_Real_Deal.php)
Хотя теперь есть новый плеер, который ещё красивее старого.
А можно заказать программу? : D
Короче, что б она переименовывала все файлы в папке по такому шаблону:
Было: имяимяимя_дд.мм.гггг.тип
Стало: гггг.мм.дд_имяимяимя.тип
Цитата: Proydoha от 23-10-2011, 22:40:13
А можно заказать программу? : D
Короче, что б она переименовывала все файлы в папке по такому шаблону:
Было: имяимяимя_дд.мм.гггг.тип
Стало: гггг.мм.дд_имяимяимя.тип
Должна ли она просматривать и подкаталоги?
Цитата: Sasha от 23-10-2011, 22:50:54
Должна ли она просматривать и подкаталоги?
Не.
Я качаю видео с ютуба пачкой с канала, а оно ставит дату в идиотском месте. Если переставить дату в начало так, как я описал, то при сортировке по имени файлы отсортируются по дате их добавления на ютуб.
Тип это в смысле расширение?
Тогда вот
http://rghost.ru/26881251 (http://rghost.ru/26881251)
Споткнулся о файлы с некоторыми именами.
...
Идиотский скачиватор ставит дату скачивания, а не дату отправления : (
Затея бессмысленна.
Цитата: Proydoha от 23-10-2011, 22:40:13
А можно заказать программу? : D
Короче, что б она переименовывала все файлы в папке по такому шаблону:
Было: имяимяимя_дд.мм.гггг.тип
Стало: гггг.мм.дд_имяимяимя.тип
Посмотри
Total Commander там есть групповое переименование файлов.
Цитата: Proydoha от 24-10-2011, 01:18:49
Споткнулся о файлы с некоторыми именами.
Конечно все гораздо усложняется, но попробовать сделать по другому могу. Нужно?
Цитата: Sasha от 24-10-2011, 09:53:49
Конечно все гораздо усложняется, но попробовать сделать по другому могу. Нужно?
Не, я огорчился до глубины души от осознания того, какая дата проставляется.
Эх, а мне прогу кто-нибудь напишет :)
У меня есть заказ, но мне кажется, что он слишком трудозатратный в реализации. Сейчас я оформлю ТЗ.
В общем есть такая программа:
DiceRoller V2.1 (for Skype)
Исходники на SourceForge (http://sourceforge.net/projects/dicerollerv20fo/)
Если её запустить, то скайп спросит можно ли ей подключиться к нему. И если ответить да, то он будет просматривать сообщения на предмет строки "//<число>d<число><всё что угодно>"
Например:"//1d20"
И если он видит, что кто-то что-то написал такое, то генерирует случайное число в указанном диапазоне. И пишет (от имени запустившего программу), что такой-то человек выбросил такое-то случайное число.
Вот так:"Proydoha rolled 1d20; result: 6"
Чего мне хотелось бы, так это что бы у меня была такая же программа и она точно так же парсила сообщения, но на предмет ссылок на ютуб. А на выходе у неё были заголовки видео.
Ссылки на ютуб могут выглядеть вот так:
http://www.youtube.com/watch?v=XP9pnSXhibw
http://youtu.be/XP9pnSXhibw
Наверное строку надо сперва проверять на наличие "youtube.com" или "youtu.be"
В первом случае надо в этой же строке искать подстроку, которая начинается после "v=" и заканчивается либо перед пробелом, либо перед символом "&", либо перед концом строки.
Во втором - подстроку, которая начинается после ".be/" и заканчивается либо перед пробелом, либо перед концом строки.
Если такой подстроки нету, то ничего не делать.
По этой подстроке можно найти информацию о видео.
XML с информацией о видео находится по следующему адресу, где эта подстрока стоит в самом конце:
http://gdata.youtube.com/feeds/api/videos/XP9pnSXhibw
Заголовок размещён между тегов <title type='text'></title>
Кто-то кинул ссылку на ютуб - бах, сразу же его заголовок в окно чата.
Поизучай апи скайпа на наличие подходящих тебе функций, если ничего такого нет - тогда сложнее, нужно выкручиваться винапи.
Цитата: Sasha от 25-08-2013, 12:02:25
Поизучай апи скайпа на наличие подходящих тебе функций, если ничего такого нет - тогда сложнее, нужно выкручиваться винапи.
Первая программа его и использует. Просто мне надо поизучить С++, что б понять как.
Судя по всему мне вот сюда надо вставить все нужные проверки и вывод результата, заместо его луа-магии:
Исходник SkypeThread.cpp, строка №121 (http://sourceforge.net/p/dicerollerv20fo/code/ci/master/tree/dicerollerV2.0_Skype/DiceRoller_v2/DiceRoller_v2/SkypeThread.cpp#l121)
Тогда скачай исходники и добейся их компиляции и работоспособности в студии в исходном виде, далее в файле DiceRollerLuaScript.cpp переписать функцию performCommand. Найти регулярным выражением или еще как либо искомую строку и самое пока мне неясное отправить http запрос на этот адрес и проанализировать ответ. HTTP запросы вроде штука не сложная, но никогда не сталкивался с этим в плюсах, уверен в инете материала и готовых решений хватает.
Цитата: Sasha от 25-08-2013, 13:28:09
Тогда скачай исходники и добейся их компиляции и работоспособности в студии в исходном виде, далее в файле DiceRollerLuaScript.cpp переписать функцию performCommand. Найти регулярным выражением или еще как либо искомую строку и самое пока мне неясное отправить http запрос на этот адрес и проанализировать ответ. HTTP запросы вроде штука не сложная, но никогда не сталкивался с этим в плюсах, уверен в инете материала и готовых решений хватает.
Я плюнул на этапе "скачай студию". Он подключает какую-то бороду, которая называется "Active Template Library" и в 2010-экспресс студии её нет, а не-экспресс майкрософт разрешает качать только 2012-2013, которые тянут по 12Гб. Спасиба, как-нибудь обойдусь.
Да, читать XML не сложно: http://support.microsoft.com/kb/815659/ru (http://support.microsoft.com/kb/815659/ru)
Вообще слишком высокий входной порог для меня. Дебилов, наверное, отсеивает на раз. Непонятно что качать, с чего начинать, как этим пользоваться. Старое недоступно, к новому нет руководств.
Могу еще посоветовать обратиться в винапи FindWindow(Ex) и Get(Set)WindowText, однако даже у Spy++ с этим возникают определенные проблемы, так что не факт что получится.
(http://s019.radikal.ru/i600/1308/d5/ce2df7906af6.png)
ха-ха
Я получил заголовок видео, но не смог обработать строку. И даже не пытался связываться со скайп апи.
#include "stdafx.h"
#include <tchar.h>
#include <string>
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace std;
String ^getTitle(String ^url)
{
bool pickup = false;
String ^title = "Error";
XmlTextReader ^reader = gcnew XmlTextReader (url);
while (reader->Read())
{
switch (reader->NodeType)
{
case XmlNodeType::Element:
if (reader->Name == "title") {pickup = true;}
break;
case XmlNodeType::Text:
if (pickup == true) {title = reader->Value;}
break;
case XmlNodeType::EndElement:
break;
}
if (title != "Error") {break;}
}
return title;
}
void main(void)
{
Console::WriteLine(getTitle("http://gdata.youtube.com/feeds/api/videos/XP9pnSXhibw"));
Console::ReadLine();
}
Говорю ему:
-Субстр! Покажи что получилось!
-Ничего не получилось, маста.
Строки обрабатывать сложнее, чем читать XML : /
/*
//string youtubeURL = "tthsgtgrhrty456erret";
string youtubeURL = "http://www.youtube.com/watch?v=KVN_0qvuhhw&fghfgfh";
//string youtubeURL = "gggdgddf ss sgg http://youtu.be/KVN_0qvuhhw gfgsdg";
size_t size = youtubeURL.size();
if (youtubeURL.find("youtube.com/",0) < size)
{
size_t start = youtubeURL.find("v=");
Console::WriteLine("Case 1");
//Console::WriteLine(start);
size_t end = youtubeURL.find("&",start);
if (end > size)
{
end = youtubeURL.find(" ",start);
if (end > size)
{
end = size;
}
}
string videodata;
videodata = youtubeURL.substr(5,5);
Console::WriteLine(videodata);
}
else if (youtubeURL.find("youtu.be/",0) < size)
{
Console::WriteLine("Case 2");
}
else
{
Console::WriteLine("Case 3");
}
*/
Перебрал при помощи винапи все что мог, кроме заголовка самого окна скайпа ниче не редактируется. Быстро тут я не разберусь, к сожалению не моя специализация.
Цитата: Sasha от 26-08-2013, 01:16:36
Перебрал при помощи винапи все что мог, кроме заголовка самого окна скайпа ниче не редактируется. Быстро тут я не разберусь, к сожалению не моя специализация.
Научи меня редактировать строки : )
Я ввожу в гугл запрос и он показывает мне восемь миллионов вариантов как вырезать подстроку из строки.
Тебе на плюсах? Я просто больше по шарпу привык. Тут варианты или использовать стандартные функции или хардкорно работать со строками как с массивом (ниче сложного, на твой уровень вполне посильно), ну и конечно регулярные выражения иногда очень помогают.
Давай лучше конкретную задачу и я подумаю как лучше сделать.