Old 04-28-2017, 08:31 AM   #1
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,295
Default Idea

look here plz:

http://forum.cockos.com/showthread.p...=1#post1838077

he has a pretty good idea going, but it requires him to name the tracks in a special way and then set up custom actions to call them...

I am wondering what might be possible IF we could simply save various instances of the Track List? So that for example we could recall a list that only shows a given set of tracks in the MCP or TCP or both...

If we had that it would go a long way toward having a reaper version of the multiple mixers that Cubase offers... a feature I do miss in reaper.

I guess the best would be as a built in feature but I'm posting the idea here cuz script masters are so schmart and so fast!
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 04-29-2017, 08:51 AM   #2
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,295
Default

bumpity bump bump.... no takers?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 04-29-2017, 10:37 AM   #3
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: The vast, frozen wasteland of western Canadia.
Posts: 4,214
Default

I've got a pretty large backlog of changes/fixes for Radial Menu, but I'll add this to my list of things to look at if and when that's all taken care of - assuming someone else doesn't get to it first.
__________________
Currently working away from home; don't expect timely responses from me.
Default 5.0 Nitpicky Edition / GUI tutorial for Lua / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate / ReaPack
Lokasenna is offline   Reply With Quote
Old 04-29-2017, 03:35 PM   #4
marcoctn
Human being with feelings
 
Join Date: Dec 2015
Posts: 101
Default

Oh thank you Hopi and Lokesenna, I didn't notice you were taking care of my small project!
I love this community!

cheers from Rome
Quote:
Originally Posted by Lokasenna View Post
I've got a pretty large backlog of changes/fixes for Radial Menu, but I'll add this to my list of things to look at if and when that's all taken care of - assuming someone else doesn't get to it first.
marcoctn is offline   Reply With Quote
Old 04-29-2017, 06:48 PM   #5
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,295
Default

Quote:
Originally Posted by Lokasenna View Post
I've got a pretty large backlog of changes/fixes for Radial Menu, but I'll add this to my list of things to look at if and when that's all taken care of - assuming someone else doesn't get to it first.
you guys should know by now you can't trust Loka... he'll say he is busy and has a back log and all that sort of stuff and the next thing you know he as just gone and done it...
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 04-30-2017, 08:51 AM   #6
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 1,755
Default

Edit...

Last edited by Sexan; 05-01-2017 at 08:59 AM.
Sexan is offline   Reply With Quote
Old 04-30-2017, 03:28 PM   #7
zoso2
Human being with feelings
 
zoso2's Avatar
 
Join Date: Dec 2009
Location: Alberta, Canada
Posts: 608
Default

@Sexan, this looks pretty slick. very functional already. In my opinion it is an improvement on the original idea since there is no need for a naming convention which you might forget to add to tracks and wonder where they all went!
zoso2 is offline   Reply With Quote
Old 05-01-2017, 03:58 AM   #8
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 1,755
Default

Edit...

Sorry for violating copyrighted material Loka, thought it was released (have not been on forum some time)

Since people are waiting for you I'm going to step back from this one

Last edited by Sexan; 05-01-2017 at 09:03 AM.
Sexan is offline   Reply With Quote
Old 05-01-2017, 05:17 AM   #9
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: The vast, frozen wasteland of western Canadia.
Posts: 4,214
Default

That version of my GUI library isn't publicly available anywhere, silly person. Might I suggest pasting the GUI code into the main script,
or having a script do it for you?
__________________
Currently working away from home; don't expect timely responses from me.
Default 5.0 Nitpicky Edition / GUI tutorial for Lua / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate / ReaPack
Lokasenna is offline   Reply With Quote
Old 05-01-2017, 08:42 AM   #10
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,295
Default

Now me... I'm just gonna sit tight and wait for you Loka... cuz I know when you get around to it, it will great.
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 05-02-2017, 03:18 AM   #11
marcoctn
Human being with feelings
 
Join Date: Dec 2015
Posts: 101
Default

so, someone uploaded a script and then removed it, right? Yesterday I was unable to check the forum
marcoctn is offline   Reply With Quote
Old 06-09-2017, 03:42 PM   #12
marcoctn
Human being with feelings
 
Join Date: Dec 2015
Posts: 101
Default To Sexan e Lokasenna

So, if I got it right now Lokasenna Gui is available... so could I have a look at the script that Sexan wrote a while ago?

cheers.
m
marcoctn is offline   Reply With Quote
Old 06-10-2017, 11:28 AM   #13
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 1,755
Default

This is the core script (that is ported to GUI library)

Code:
local vca = {}
local midi = {}
local buss = {} -- receives

local function item_types(tr)
  local count_items_track  = reaper.CountTrackMediaItems(tr)
  local items = {}
  local item_type
    for i = 0, count_items_track -1 do
      local item = reaper.GetTrackMediaItem(tr, i)
      local take = reaper.GetMediaItemTake(item, 0)    
      local source = reaper.GetMediaItemTake_Source(take)       
      local take_type = reaper.GetMediaSourceType(source, "test")
      items[#items +1] = take_type
    end    
---- CHECK IF ITEMS ARE SAME OR MIXED (WAVE ONLY , MIDI ONLY , MIDI & WAVE (MIXED)  
    for i = 1,#items do
      item_type = items[1]             -- set first item as type reference
        if items[i] == item_type then item_type = item_type -- if all items are the same as first, item type == first item (WAVE or MIDI)
        else item_type = "MIXED"  break -- if first item is different from other , break loop after finding first different (if items after found one match then it is conssidered as same(MIDI or WAVE))        
        end
    end
  return item_type
end

local function track_type()
  local count_tracks = reaper.CountTracks(0)
    for i = 0, count_tracks -1 do
      local track = reaper.GetTrack(0, i) 
      local item_type = item_types(track)                
      local vca_m = reaper.GetSetTrackGroupMembership(track, "VOLUME_VCA_MASTER", 0, 0)
      local vca_s = reaper.GetSetTrackGroupMembership(track, "VOLUME_VCA_SLAVE", 0, 0)
      local bus = reaper.GetTrackNumSends(track , -1) -- get receives
      
      if vca_m ~= 0 then
        vca[#vca+1] = track
      
      elseif bus ~= 0 then
        local cnt_fx = reaper.TrackFX_GetCount(track)        
          for i = 1, cnt_fx do 
          local _, name = reaper.TrackFX_GetFXName(track, i-1, "")
          -- SET IT TO BUSS ONLY IF IT HAS DELAY OR REVERB AS FX
            if name:gmatch('verb') or name:gmatch('delay') then
              buss[#buss+1] = track
            end
          end
      
      elseif item_type == "MIDI" then
        midi[#midi+1] = track
      end 
    end
end

local function has_value(tab, val)
  for index, value in ipairs(tab) do
    if value == val then 
      return true
    end
  end

  return false
end

local function toggle_visibility(tbl,track)
  
  if #tbl ~= 0 and has_value(tbl, track) == false then
  
    local visibleT = reaper.GetMediaTrackInfo_Value(track, "B_SHOWINTCP")
    local visibleM = reaper.GetMediaTrackInfo_Value(track, "B_SHOWINMIXER")
    
    if visibleT == 1 and visibleM == 1 then
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINTCP", 0)
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINMIXER", 0)
    else
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINTCP", 1)
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINMIXER", 1)
    end
  end
  
end

local function main()
  local count_tracks = reaper.CountTracks(0)
 
  for i = 0, count_tracks -1 do
    local track = reaper.GetTrack(0, i)   
    toggle_visibility(buss,track)
  end  
    
    reaper.UpdateArrange()
    reaper.TrackList_AdjustWindows(0)
end

track_type()
main()
And this is (was) that script I've uploaded :
https://stash.reaper.fm/30923/Idea.lua

Sorry guys I have lots of things to do and have no time.So go nuts with it
Sexan is offline   Reply With Quote
Old 06-10-2017, 01:05 PM   #14
Luster
Human being with feelings
 
Join Date: Nov 2015
Posts: 306
Default

As I understand it's about filtering tracks quickly and flexible. What about the GUI-less solution me2beats build with those actions?

Script: me2beats_Save selected tracks, slot 1 (persist).lua
Script: me2beats_Toggle show-hide saved tracks, slot 1 (persist).lua

I enhanced it to 10 slots and suits my needs regarding this perfectly. No need to remember which slot was which content of tracks. Just press the button quickly and you see it. Press it again - old state. I love it.
Luster is online now   Reply With Quote
Old 06-11-2017, 02:30 AM   #15
marcoctn
Human being with feelings
 
Join Date: Dec 2015
Posts: 101
Default

damn it, don't know what i'm doing wrong, it says he can't find the class files bt the path is correct. Uhm

Quote:
Originally Posted by Sexan View Post
This is the core script (that is ported to GUI library)

Code:
local vca = {}
local midi = {}
local buss = {} -- receives

local function item_types(tr)
  local count_items_track  = reaper.CountTrackMediaItems(tr)
  local items = {}
  local item_type
    for i = 0, count_items_track -1 do
      local item = reaper.GetTrackMediaItem(tr, i)
      local take = reaper.GetMediaItemTake(item, 0)    
      local source = reaper.GetMediaItemTake_Source(take)       
      local take_type = reaper.GetMediaSourceType(source, "test")
      items[#items +1] = take_type
    end    
---- CHECK IF ITEMS ARE SAME OR MIXED (WAVE ONLY , MIDI ONLY , MIDI & WAVE (MIXED)  
    for i = 1,#items do
      item_type = items[1]             -- set first item as type reference
        if items[i] == item_type then item_type = item_type -- if all items are the same as first, item type == first item (WAVE or MIDI)
        else item_type = "MIXED"  break -- if first item is different from other , break loop after finding first different (if items after found one match then it is conssidered as same(MIDI or WAVE))        
        end
    end
  return item_type
end

local function track_type()
  local count_tracks = reaper.CountTracks(0)
    for i = 0, count_tracks -1 do
      local track = reaper.GetTrack(0, i) 
      local item_type = item_types(track)                
      local vca_m = reaper.GetSetTrackGroupMembership(track, "VOLUME_VCA_MASTER", 0, 0)
      local vca_s = reaper.GetSetTrackGroupMembership(track, "VOLUME_VCA_SLAVE", 0, 0)
      local bus = reaper.GetTrackNumSends(track , -1) -- get receives
      
      if vca_m ~= 0 then
        vca[#vca+1] = track
      
      elseif bus ~= 0 then
        local cnt_fx = reaper.TrackFX_GetCount(track)        
          for i = 1, cnt_fx do 
          local _, name = reaper.TrackFX_GetFXName(track, i-1, "")
          -- SET IT TO BUSS ONLY IF IT HAS DELAY OR REVERB AS FX
            if name:gmatch('verb') or name:gmatch('delay') then
              buss[#buss+1] = track
            end
          end
      
      elseif item_type == "MIDI" then
        midi[#midi+1] = track
      end 
    end
end

local function has_value(tab, val)
  for index, value in ipairs(tab) do
    if value == val then 
      return true
    end
  end

  return false
end

local function toggle_visibility(tbl,track)
  
  if #tbl ~= 0 and has_value(tbl, track) == false then
  
    local visibleT = reaper.GetMediaTrackInfo_Value(track, "B_SHOWINTCP")
    local visibleM = reaper.GetMediaTrackInfo_Value(track, "B_SHOWINMIXER")
    
    if visibleT == 1 and visibleM == 1 then
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINTCP", 0)
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINMIXER", 0)
    else
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINTCP", 1)
      reaper.SetMediaTrackInfo_Value(track, "B_SHOWINMIXER", 1)
    end
  end
  
end

local function main()
  local count_tracks = reaper.CountTracks(0)
 
  for i = 0, count_tracks -1 do
    local track = reaper.GetTrack(0, i)   
    toggle_visibility(buss,track)
  end  
    
    reaper.UpdateArrange()
    reaper.TrackList_AdjustWindows(0)
end

track_type()
main()
And this is (was) that script I've uploaded :
https://stash.reaper.fm/30923/Idea.lua

Sorry guys I have lots of things to do and have no time.So go nuts with it
marcoctn is offline   Reply With Quote
Old 06-11-2017, 07:08 AM   #16
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,295
Default

where can I find info about how to use the me2beats lua's for save and restore tracks... he has many scripts that deal with this and I need some education on this subject.
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 06-11-2017, 09:14 AM   #17
Luster
Human being with feelings
 
Join Date: Nov 2015
Posts: 306
Default

Quote:
Originally Posted by Luster View Post
As I understand it's about filtering tracks quickly and flexible. What about the GUI-less solution me2beats build with those actions?

Script: me2beats_Save selected tracks, slot 1 (persist).lua
Script: me2beats_Toggle show-hide saved tracks, slot 1 (persist).lua

I enhanced it to 10 slots and suits my needs regarding this perfectly. No need to remember which slot was which content of tracks. Just press the button quickly and you see it. Press it again - old state. I love it.
Quote:
Originally Posted by hopi View Post
where can I find info about how to use the me2beats lua's for save and restore tracks... he has many scripts that deal with this and I need some education on this subject.
I guess you have ReaPack installed and up to date.
Luster is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:09 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.