purebasic.info

PureBasic forum
Текущее время: Вс сен 23, 2018 2:06 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: BitBox
СообщениеДобавлено: Вт мар 04, 2014 10:39 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
Программка немного сырая 8) . Похожая на ФрутиЛуповскую бит панель. :twisted:
Из того что не работает как должно, так это проигрывание. Т.е. если запустил остановить невозможно )). Все GUI элементы кликабельны. ПМ -увеличить на 1 и ЛМ соответственно уменьшить
"+" - добавить
"120" - непосредственно темп в BPM
"1" - количество четвертей
А в остальном я думаю сообразите.
Выкладываю только исходник.
Нужны Wave ваншоты!!!


Вложения:
Комментарий к файлу: Нужны Wave файлы
BitBox2_.pb [37.77 KiB]
Скачиваний: 242
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Вт мар 04, 2014 7:52 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Поправь, чтобы индикатор сверху бегал всегда, а не только на нечетном темпе, ибо так не реагирует на выставленный паттерн, а только долбит по первой ноте.
И еще, выбираем сэмпл для первой дорожки, потом для второй, добавляем еще несколько пустых дорожек, потом пробуем заменить сэмпл на первой дорожке - а он меняется на последней.
Ну и громкость для каждой дорожки не помешает.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Ср мар 05, 2014 9:37 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
MrF писал(а):
Поправь, чтобы индикатор сверху бегал всегда, а не только на нечетном темпе, ибо так не реагирует на выставленный паттерн, а только долбит по первой ноте.
И еще, выбираем сэмпл для первой дорожки, потом для второй, добавляем еще несколько пустых дорожек, потом пробуем заменить сэмпл на первой дорожке - а он меняется на последней.
Ну и громкость для каждой дорожки не помешает.


Спс за тест.
Фишки громкость и панораму добавлю, плюс баг с заменой семплов и индикатором исправлю. :wink:

Я вот немного не догоняю по поводу потоков. В коде присутствует 2 цикла: один основной который управляет непосредственно GUI, а другой запускается через поток, который в свою очередь как бы является таймером (делает приращение через определенный промежуток времени).
Может у кого есть идеи как реализовать функцию PLAY, по скольку если удалять поток то новый не работает или если поток таймера ставить на паузу то вся прога останавливается и ждет...
Что делать? :(


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Ср мар 05, 2014 11:07 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
cherri123 писал(а):
Что делать?

Можно так
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Select GadgetBox()\on
                Case 0
                 Debug "STOP"
                  If IsThread(TTImer)
                    ;KillThread(TTImer)
                    ;QuitThread()
                    PlayStatus=0
                    PauseThread(TTImer)
 
                    Redraw()
                  EndIf
                 
                Case 1
                  If IsThread(TTImer)
                  ResumeThread(TTImer)
                  EndIf
                 
                  Debug "PLAY"
                 ; PlayStatus=1
                  Redraw()
                  TTImer=CreateThread(@Thread_Timer_Start(),0)
                  Debug "TTImer >"+Str(TTImer)
              EndSelect



А midi еще не доделаны?

Кстати, посмотри вот эти темы
Выбор ASIO девайса - http://www.purebasic.fr/english/viewtop ... 40&t=56135
А тут есть какая-то программа тоже с ASIO, но у меня почему-то не захотела работать http://www.purebasic.fr/english/viewtop ... 40&t=56584


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Ср мар 05, 2014 1:03 pm 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
спс за подсказку допилил теперь работает корректно :wink:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Debug "[press buton]"
              GadgetBox()\on=GadgetBox()\on!1
              Select GadgetBox()\on
                Case 0
                 Debug "STOP"
                  If IsThread(TTImer)
                    ;KillThread(TTImer)
                    ;QuitThread()
                    PlayStatus=0
                    PauseThread(TTImer)
 
                    Redraw()
                  EndIf
                 
                Case 1
                  CopyList(Track(),PlayTrack())
                  If IsThread(TTImer)
                    ResumeThread(TTImer)
                  Else
                    TTImer=CreateThread(@Thread_Timer_Start(),0)
                    Debug "TTImer >"+Str(TTImer)
                  EndIf
                 
                  Debug "PLAY"
                 ; PlayStatus=1
                  Redraw()
                 
              EndSelect


с миди тоже код есть :twisted: допилю и выложу здесь
спс за ссылки.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Чт мар 06, 2014 7:17 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
добавил миди

При выборе вида выбрать миди
Чтобы открыть миди редактор щелкаем на поле
ЛКМ добавить ноту согласно масштабу
ПКМ удалить
Колесико изменение масштаба

Не могу реализовать закрытие редактора без закрытия основного окна :(


Вложения:
BitBox2.pb [65.5 KiB]
Скачиваний: 202


Последний раз редактировалось cherri123 Чт мар 06, 2014 9:01 am, всего редактировалось 1 раз.
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Чт мар 06, 2014 8:57 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Прикольно :)
Только со скоростью какой-то косяк - ставлю одну четверть, выставляю ноты - нормальная скорость, добавляю еще одну четверть, добавляю ноты - уже медленнее.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Чт мар 06, 2014 9:04 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
MrF писал(а):
Прикольно :)
Только со скоростью какой-то косяк - ставлю одну четверть, выставляю ноты - нормальная скорость, добавляю еще одну четверть, добавляю ноты - уже медленнее.


Сам не знаю в чем причина. Но скорость становить нормальной если основное окно не поверх других, т.е. визуально спрятано :wink: . Как выявить что косячит пока не могу :(


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Чт мар 06, 2014 12:00 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
cherri123 писал(а):
Не могу реализовать закрытие редактора без закрытия основного окна

Ты как-то не так там закрытие обрабатываешь. Вместо этого
Код:
1
Until GetActiveWindow()=#Window_0 And Event = #PB_Event_CloseWindow 


И то что выше этого, лучше так сделать
Код:
1
2
3
4
5
6
7
8
9
10
 Select Event
  Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        Break
      ElseIf  EventWindow = #Window_midi
      CloseWindow(#Window_midi)
  EndIf
   EndSelect
 ForEver



И CreateGadgetList можно удалить, он уже не используется пуриком.

И да, логичнее было бы сделать размер сетки пианорола, который стоит по умолчанию, не для 4 четвертей, а для одной. Ну еще можно сетку раскрасить - каждый четвертый столбик в немного другой цвет, так же и для wav.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Пн мар 10, 2014 5:26 pm 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
cherri123 писал(а):
MrF писал(а):
Прикольно :)
Только со скоростью какой-то косяк - ставлю одну четверть, выставляю ноты - нормальная скорость, добавляю еще одну четверть, добавляю ноты - уже медленнее.


Сам не знаю в чем причина. Но скорость становить нормальной если основное окно не поверх других, т.е. визуально спрятано :wink: . Как выявить что косячит пока не могу :(


Нашел причину. Связано это с отрисовкой указателя положения проигрывания. Если убрать то все раборает как нужно.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Пт авг 22, 2014 1:25 pm 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
Можно считать что это последняя версия... :(


Вложения:
Комментарий к файлу: новая версия Wave + Midi
BitBox2_1.pb [120.17 KiB]
Скачиваний: 183
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Пт авг 22, 2014 11:57 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
cherri123 писал(а):
Можно считать что это последняя версия

А что так?
Конечно, писать полноценную DAW одному это слишком долго, тут лучше командой. Но если совсем решил забросить, то выложи у буржуев, может там кто-нибудь захочет развить.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Сб авг 23, 2014 12:10 am 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 571
Благодарил (а): 2 раз.
Поблагодарили: 32 раз.
Пункты репутации: 9
Этот код
Код:
1
2
3
  If g_event=#Frame3D_0
    CanvasCallBack(EventType)
  EndIf


Замени этим
Чтобы колёсико работало на скорость и прочее.
Код:
1
2
3
4
5
6
7
If Event=13100;#PB_Event_Gadget;если событие кнопок
   Gadget=EventGadget()
      Select Gadget
        Case #Frame3D_0;0
         CanvasCallBack(EventType)
      EndSelect
  EndIf



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Пн авг 25, 2014 9:17 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
MrF писал(а):
cherri123 писал(а):
Можно считать что это последняя версия

А что так?
Конечно, писать полноценную DAW одному это слишком долго, тут лучше командой. Но если совсем решил забросить, то выложи у буржуев, может там кто-нибудь захочет развить.

Полноценная и ненужна, а так для старта практически все есть...Дело в том, что пределываю GUI и принципы обращения к элементам. На данный момент все работает достаточно быстро (т.е. определения элементов и объектов)...
Правда есть загвоздка никак не разберусь с DirectSound и ASIO :( ...Без этих вещей дальше не будет смысла что либо делать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: BitBox
СообщениеДобавлено: Пн авг 25, 2014 10:32 am 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
Сергейчик писал(а):
Этот код
Код:
1
2
3
  If g_event=#Frame3D_0
    CanvasCallBack(EventType)
  EndIf


Замени этим
Чтобы колёсико работало на скорость и прочее.
Код:
1
2
3
4
5
6
7
If Event=13100;#PB_Event_Gadget;если событие кнопок
   Gadget=EventGadget()
      Select Gadget
        Case #Frame3D_0;0
         CanvasCallBack(EventType)
      EndSelect
  EndIf



Не вижу смысла...все ненужное отсекается в CanvasCallBack(EventType)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB