@Aleksandr Oleynik, Ок
[DOUBLEPOST=1467921304][/DOUBLEPOST]@Aleksandr Oleynik, Очень круто, спасибо!!!
				
			[DOUBLEPOST=1467921304][/DOUBLEPOST]@Aleksandr Oleynik, Очень круто, спасибо!!!
Александр , перепроверьте скрипт пожалуйста , по моему не работает писать без учёта регистра, или я что то не то настроил@lil-burn, Спасибо, дописал, чтоб регистр букв (не только первых) в имени трека не имел значение вообще! Ну и чилдрен патерны тоже можно писать без учёта регистра, т.е. как угодно.
Перезалил оба скрипта!
 
	А если назвать трек не tom а 12 Tom ? будут стоять цифры или буквы перед словом , он же не находит трек ?@stepperian, ок, перепроверю, но желательно приводить, как это делает @Martin111 ошибку, которую пишет скрипт - мне это сильно помогает, я не в состоянии наступить сам на все возможные пользовательские грабли.
PS: Проверил, всё работает -
Может ты не перезакачал скрипт и используешь старый?
ну так - а зачем бэта тестеры?А если назвать трек не tom а 12 Tom ? будут стоять цифры или буквы перед словом , он же не находит трек ?

function compare_str_case_insens (str_1, str_2)
    capture = ''
    if str_1 and str_2 then
      for w in str_1:gmatch('.') do capture = capture..'['..w:lower()..','..w:upper()..']' end
      if str_2:match(capture) then return true end
    end
  endЕсли не возможно сделать отвязку от регистра другими путями , тогда наверное лучше ее убратьПроблема имено в функции отвязки от регистра для символов - она не работает со слогами, она сравнивать может только ПОЛНЫЕ имена -
т.е. если str_1 и str_2 отличаются только регистром у букв в словах - то всё ОК, а если str_2 только часть строки str_1 - то всёPHP:function compare_str_case_insens (str_1, str_2) capture = '' if str_1 and str_2 then for w in str_1:gmatch('.') do capture = capture..'['..w:lower()..','..w:upper()..']' end if str_2:match(capture) then return true end end end
Всё возможно, просто нужно время чтоб найти как.Если не возможно сделать отвязку от регистра другими путями , тогда наверное лучше ее убрать
Я не понял о чём вы?@Aleksandr Oleynik, возможно сделать чтобы всегда было в положении on, и выключалось только вручную ? Попробовал сохранить темплейт, но посл перезапуска кнопка сама переключается в положение off, отжатый режим.
function main()
  tracks = reaper.CountTracks(0)
  for i = 0, tracks-1 do
    tr = reaper.GetTrack(0,i)
    _, tr_name = reaper.GetSetMediaTrackInfo_String(tr, 'P_NAME', '', 0)
    if tr_name ~= '' then
      if #tr_name > 1 then
        tr_name = tr_name:sub(1,1):upper()..tr_name:sub(2,-1)
      else tr_name = tr_name:sub(1,1):upper() end
      reaper.GetSetMediaTrackInfo_String(tr, 'P_NAME', tr_name, 1)
    end     
  end
end
function first_letter_upper_all_tracks()
  st_ch = reaper.GetProjectStateChangeCount(0) - init_st_ch
  if st_ch - update_st_ch > 0 then update_st_ch = st_ch; main() end
  reaper.defer(first_letter_upper_all_tracks)
end
-- Set ToolBar Button ON
function SetButtonON()
  _, _, sec, cmd = reaper.get_action_context()
  state = reaper.GetToggleCommandStateEx( sec, cmd )
  reaper.SetToggleCommandState( sec, cmd, 1 ) -- Set ON
  reaper.RefreshToolbar2( sec, cmd )
end
--
-- Set ToolBar Button OFF
function SetButtonOFF()
  _, _, sec, cmd = reaper.get_action_context()
  state = reaper.GetToggleCommandStateEx( sec, cmd )
  reaper.SetToggleCommandState( sec, cmd, 0 ) -- Set OFF
  reaper.RefreshToolbar2( sec, cmd )
end
init_st_ch = reaper.GetProjectStateChangeCount(0)
update_st_ch = reaper.GetProjectStateChangeCount(0) - init_st_ch
main()
first_letter_upper_all_tracks()
SetButtonON()
reaper.atexit( SetButtonOFF )А если назвать трек не tom а 12 Tom ? будут стоять цифры или буквы перед словом , он же не находит трек ?
"Это" - это что?это работает только на одно действие
Исправленно и кое что переделанно -
http://rmmedia.ru/threads/117419/page-3#post-2013902
Потестите пожалуйста!
 если разгрузить папки то треки не собираются все,  а если достать треки из папки и передвинуть в другое место они собираются
 если разгрузить папки то треки не собираются все,  а если достать треки из папки и передвинуть в другое место они собираютсяпотому как разгружаете вы их не верно - клацая по папочке вы меняете статус только парента, а чилдрен остаётся с прежним статусом - это БАГ Рипера!если разгрузить папки то треки не собираются все
 
	