 |
|
|
08-23-2017, 07:53 AM
|
#401
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Quote:
Originally Posted by nofish
Is it my internet connection or does GitHub has some problems currently ?
|
It was GitHub: https://status.github.com/messages.
|
|
|
08-23-2017, 07:59 AM
|
#402
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,930
|
I was unaware of that GitHub status page, thanks.
|
|
|
09-07-2017, 08:50 AM
|
#403
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,930
|
Question about reapack-index:
Do we have something like a "@requires" tag to specifify which minimum Reaper / SWS version is required for a script ?
How to best specify such info in the ReaPack header ?
|
|
|
09-07-2017, 12:04 PM
|
#404
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Currently only an operating system requirement can be specified (per individual file). Scripts can manually test for REAPER/SWS compatibility by checking at runtime whether a particular API function exists or by testing the version with the new reaper.ReaPack_CompareVersions API (v1.2beta2+).
I think I could add this @requires feature in ReaPack v1.3. ReaPack currently handles incompatible packages by hiding them away. I think it would be better to show them but with a clear error message upon installation attempt. They would need NOT to be installed when synchronizing with the option to install everything is ON though, because that would be annoying (getting errors every time...).
|
|
|
09-07-2017, 02:20 PM
|
#405
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,930
|
Thanks.
Meanwhile I've found the APIExists() Reaper API function and that this also works for SWS exported ReaScript functions so that's a decent way to check at script runtime for now.
|
|
|
09-07-2017, 02:30 PM
|
#406
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
This also works since REAPER v5.23 (added at the same time as APIExists):
Code:
if not reaper.SomeNewAPI then
reaper.ShowConsoleMsg("This script requires REAPER v4.2 or newer!")
return
end
https://forum.cockos.com/showthread.php?t=177319
Last edited by cfillion; 09-07-2017 at 03:39 PM.
|
|
|
09-13-2017, 02:55 AM
|
#407
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,885
|
Hi guys.
I just remove StigeT (Sonic Anomaly, supermaalima) plugins from Reateam repository because they were very outdated and with old/no GUI. Nowadays SonicAnomaly has his own repository and I hope it is easy for him make different updates for his great plugins.
You can still hold his old plugins (just not allow to remove JSFX if ReaPack ask you to remove these JSFX as obsolete).
For adding new stuff: import this link: https://raw.githubusercontent.com/So...ster/index.xml or perform action Install all known ReaPack repositories(placed in ReaTeam repo and require ReaPack1.2beta2+)
|
|
|
09-15-2017, 10:19 AM
|
#408
|
Human being with feelings
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,446
|
Quote:
Originally Posted by mpl
You can still hold his old plugins (just not allow to remove JSFX if ReaPack ask you to remove these JSFX as obsolete).
|
Any way around having to deal with it every time I update?
|
|
|
09-15-2017, 12:19 PM
|
#409
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Furthermore, the script "Repair missing JSFX files in the current project" can help migrate existing projects.
Quote:
Originally Posted by Jeffsounds
Any way around having to deal with it every time I update?
|
For now the only options are to either remove them or completely disable the feature ( Manage Repositories > Options > Prompt to uninstall obsolete packages).
In the next pre-release (almost ready) pinning the desired packages in the browser will suffice to mark them as still wanted.
Last edited by cfillion; 09-15-2017 at 12:25 PM.
|
|
|
09-16-2017, 03:00 AM
|
#410
|
Human being with feelings
Join Date: Jan 2015
Posts: 774
|
Quote:
Originally Posted by mpl
Hi guys.
I just remove StigeT (Sonic Anomaly, supermaalima) plugins from Reateam repository because they were very outdated and with old/no GUI. Nowadays SonicAnomaly has his own repository and I hope it is easy for him make different updates for his great plugins.
You can still hold his old plugins (just not allow to remove JSFX if ReaPack ask you to remove these JSFX as obsolete).
For adding new stuff: import this link: https://raw.githubusercontent.com/So...ster/index.xml or perform action Install all known ReaPack repositories(placed in ReaTeam repo and require ReaPack1.2beta2+)
|
Hi, it also try to delete Bass Professor MK2, which has a great interface and doesn't seem so outdated or poor... are you sure you should take it out from Reapack?
g
|
|
|
09-16-2017, 05:10 AM
|
#411
|
Human being with feelings
Join Date: Jun 2014
Location: Ohio
Posts: 963
|
Quote:
Originally Posted by Gianfini
Hi, it also try to delete Bass Professor MK2, which has a great interface and doesn't seem so outdated or poor... are you sure you should take it out from Reapack?
g
|
Add this repository for the latest version:
https://raw.githubusercontent.com/So...ster/index.xml
|
|
|
09-16-2017, 11:08 AM
|
#412
|
Human being with feelings
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,446
|
Quote:
Originally Posted by citizenkeith
|
So after adding this repository I can let ReaPack delete what it wants to delete of Sonic Anomaly?
|
|
|
09-16-2017, 07:45 PM
|
#413
|
Human being with feelings
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
|
I want some scripts in my repo to be added to Media Explorer section. Possible?
|
|
|
09-16-2017, 08:28 PM
|
#414
|
Human being with feelings
Join Date: Jun 2014
Location: Ohio
Posts: 963
|
Quote:
Originally Posted by Jeffsounds
So after adding this repository I can let ReaPack delete what it wants to delete of Sonic Anomaly?
|
That link will give you the newest versions of Sonic Anomaly's JS FX. So yes, you can let ReaPack delete the old FX, and you can install the new versions via that repository.
|
|
|
09-16-2017, 09:10 PM
|
#415
|
Human being with feelings
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
|
Another idea:
Option to select script section(s). User may select sections himself. Let's say there are scripts 'Save time selection' and 'Restore time selection'. Some people would like to run this scripts from midi editor, some users - from from media explorer, others - from both midi efitor and media explorer.
|
|
|
09-16-2017, 10:05 PM
|
#416
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Quote:
Originally Posted by me2beats
I want some scripts in my repo to be added to Media Explorer section.
|
Done. Stay tuned for v1.2rc1!
Quote:
Originally Posted by me2beats
Another idea:
Option to select script section(s). User may select sections himself. Let's say there are scripts 'Save time selection' and 'Restore time selection'. Some people would like to run this scripts from midi editor, some users - from from media explorer, others - from both midi efitor and media explorer.
|
What do you mean by selection? If you mean to register the same script in more than one Action List section or to bundle multiple scripts in a single package then the answer is yes, with reapack-index's @provides tag.
This registers the current file (.) in all sections:
Code:
@provides [main=main,midi_editor,midi_inlineeditor,midi_eventlisteditor,mediaexplorer] .
This registers multiple files in different sections:
Code:
@provides
[main] script1.lua
[main=midi_editor] script2.lua
[main=midi_inlineeditor] script3.eel
[main=midi_eventlisteditor] script4.lua
[main=mediaexplorer] script5.py
[nomain] hidden.lua
Last edited by cfillion; 09-17-2017 at 01:39 PM.
|
|
|
09-17-2017, 09:53 AM
|
#417
|
Human being with feelings
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
|
cfillion thanx very much, will try it soon!
As for last idea: I mean user can optionally choose sections himself (main/midi/media_explorer..):
script A - main, script B midi editor, script C - main and midi editor
|
|
|
09-17-2017, 01:44 PM
|
#418
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
There is nothing stopping them from loading or removing the script into any Action List sections manually in REAPER. (Of course ReaPack won't know about this so, when uninstalling, the script will remain in the sections where it was manually added.)
EDIT: ReaPack and reapack-index v1.2rc1 are out! p=1886939
Last edited by cfillion; 09-17-2017 at 03:51 PM.
|
|
|
09-28-2017, 06:44 AM
|
#419
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 13,792
|
Quote:
Originally Posted by cfillion
EDIT: ReaPack and reapack-index v1.2rc1 are out! p=1886939 
|
As we might be approaching a next version of of ReaPack, and due to ongoing discussions regarding Reaper extensions needing to be more easily available, especially for new users, I'd like to recapitulate and retrigger some thoughts already discussed here in the past.
1) ReaPack should be distributed and installed with a new installation of Reaper by default.
2) ReaPack should always be available as the top entry in the "Extensions" menu.
3) Very commonly used and "unreplaceable" stuff like SWS and MidiToReaControlPath should be (easily) available via ReaPack.
4) VSTs should be manageable by ReaPack. I suppose such VSTs could be located in a folder in the Reaper Ressources which accordingly should automatically be added to the VST search path.
5) It should be (easily) possible to create "pure description ReaPacks" that provide descriptions for extensions that are either not managed by ReaPack or are in a format (e.g. VSTs) that don't allow for adding an internal description.
7) ReaPack should be usable to (easily) allow volunteers to provide description texts for the Reaper stock plugins (JSFX and VST).
8) Reaper should (automatically and obviously in favor of new users) be provided with functions to "context sensitively" show the descriptions of the installed extension and plugins (maybe ReaScripts, Themes etc, as well, but I am a newbie regarding such). E.g. "F1" on a JSFX plugin installed in the Track's FX chain.
9) There should be a "recommended" repository managed by a group of volunteers, containing decently tested and description-providing extensions.
Thanks for continuing the great work !
-Michael
Last edited by mschnell; 09-28-2017 at 06:52 AM.
|
|
|
09-28-2017, 04:35 PM
|
#420
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
I really appreciate your long-term enthusiasm about ReaPack mschnell. Thanks!
Quote:
Originally Posted by mschnell
1) ReaPack should be distributed and installed with a new installation of Reaper by default.
3) Very commonly used and "unreplaceable" stuff like SWS and MidiToReaControlPath should be (easily) available via ReaPack.
|
It's OK with me if the devs decide to do that. As for SWS and MIDIToReaControlPath to be available through ReaPack, it's up to their maintainers to make it so.
Quote:
Originally Posted by mschnell
2) ReaPack should always be available as the top entry in the "Extensions" menu.
|
Currently the order of that menu depends on the order in which the extensions are loaded. It's "gentleman-like", nobody fights for a better spot, so I like that.
REAPER loads ReaPack before SWS when they are both installed into the same UserPlugins folder.
I mean, I could force ReaPack's menu to be at the top even if SWS gets loaded first. But there is no guarantee that some other extension won't do the same thing afterward (put its menu above mine) and we'll be back to square one.
Quote:
Originally Posted by mschnell
4) VSTs should be manageable by ReaPack. I suppose such VSTs could be located in a folder in the Reaper Ressources which accordingly should automatically be added to the VST search path.
|
I can do that, in fact I already wrote the code when we discussed about this previously. But I can't beautifully change the VST search path to include the resource folder. I feel like that's a blocker.
Quote:
Originally Posted by mschnell
5) It should be (easily) possible to create "pure description ReaPacks" that provide descriptions for extensions that are either not managed by ReaPack or are in a format (e.g. VSTs) that don't allow for adding an internal description.
7) ReaPack should be usable to (easily) allow volunteers to provide description texts for the Reaper stock plugins (JSFX and VST).
|
I hear you, I haven't forgot about your FR. It won't happen in this v1.2 release. This is a big and complex change and I want it done properly or not at all. Perhaps in v1.3, but I don't promise!
Quote:
Originally Posted by mschnell
8) Reaper should (automatically and obviously in favor of new users) be provided with functions to "context sensitively" show the descriptions of the installed extension and plugins (maybe ReaScripts, Themes etc, as well, but I am a newbie regarding such). E.g. "F1" on a JSFX plugin installed in the Track's FX chain.
|
I already added API functions for this, so it can be done. In REAPER itself or in individual scripts. ("Show ReaPack about dialog for the focused JSFX.lua" uses that API)
Quote:
Originally Posted by mschnell
9) There should be a "recommended" repository managed by a group of volunteers, containing decently tested and description-providing extensions.
|
I think this should be the ReaTeam repositories. If you or anybody find broken or badly documented packages, you're welcome to send Bug Reports or, even better, Pull Requests to make it better!
Last edited by cfillion; 09-29-2017 at 02:12 AM.
|
|
|
09-29-2017, 01:56 AM
|
#421
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 13,792
|
Thanks tor listening !
I feel that Reaper is one of the greatest pieces of software around, and a decent part of this is it's extensibility. And here ReaPack is a wonderful (and IMHO necessary) tool.
But it is not visible to new users, you only get to know about ReaPack (and with this to a whole world of extensions and - extremely important - instructions and descriptions of same enabling selection and usage) after e.g. following discussions in the forum.
That is why I strongly suggest (to Cockos) to install PeaPack by default , visible at a very prominent position.
Moreover to use it's power in the most comfortable way (e.g. providing context help for supported JSFXes (and hopefully other stock plugins and extensions) "out of the box")
Regarding the ReaTeam repositories, IMHO there should be a place where decently tested packages are found and the test should include the documentation provided. New users should be able to benefit from the extensions in there as they are easily found and can be used without asking in the Forums what to do, which to install, and how to work with same. (Right now, I don't want to send deletion request for all ReaTeam packages that don't feature decent MarkDown documentation  .)
-Michael
Last edited by mschnell; 09-30-2017 at 11:09 PM.
|
|
|
09-29-2017, 06:43 AM
|
#422
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Hurray for ReaPack!
(and Michaels suggestions seems very good)
The issue for a new user when confronted with all this stuff is:
- Do I know it exist? (easy installation)
- What is it? (Description)
- Is it dangerous? (well tested)
- Is it useful to me/ how to use it? (Tutorials, documentation, showcases)
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
09-29-2017, 12:42 PM
|
#423
|
Human being with feelings
Join Date: Nov 2015
Posts: 642
|
Quote:
Originally Posted by G-Sun
The issue for a new user when confronted with all this stuff is:
- Do I know it exist? (easy installation)
- What is it? (Description)
- Is it dangerous? (well tested)
- Is it useful to me/ how to use it? (Tutorials, documentation, showcases)
|
IMHO those are issues for all users, even advanced ones. There are so many great scripts and packs, beside configuring REAPER to death you can deal a lifetime with exploring and understanding all those scripts. This FR would solve a part of the problem:
https://forum.cockos.com/showthread.php?t=159461
I would suggest a 5 star system in the action list so you can give your lifesavers 5, tools 4, useful 3, maybe useful 2 and good to know 1 stars e.g.
Regarding your point 2 and 4 - description, documentation and showcasing - this is a job of the script writers and fans. For some there exist wonderful threads or even github pages / wikis (the smart split tools e.g.). X-Raym makes a wonderful documentation within his scripts which is important in case someone wants to modify or just understand it. Maybe a kind of codex can help here to bring all the different styles of documentation in line?
|
|
|
11-22-2017, 06:59 PM
|
#424
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
ReaPack v1.2
ReaPack v1.2 adds the ability to import/export package archives (long requested by offline users  ), importing multiple repositories at once, native Linux port, support for additional types of REAPER resources (automation items, track/project templates, MIDI note names), an API for script developers and a lot of bug fixes and other improvements.
The package browser loads a bit quicker (especially on macOS) when displaying thousands of packages and the downloads are much faster ( side by side comparison)!
A curated list of changes between 1.1 and 1.2 is available at https://reapack.com/release-notes/v1.2. The user guide has been moved from GitHub Wiki to the website: https://reapack.com/user-guide.
Run the action Synchronize packages to update ReaPack or download it from reapack.com. The new version will be loaded the next time REAPER is started.
Last edited by cfillion; 11-22-2017 at 11:55 PM.
|
|
|
11-22-2017, 08:08 PM
|
#425
|
Human being with feelings
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,666
|
Quote:
Originally Posted by cfillion
ReaPack v1.2
Run the action Synchronize packages to update ReaPack...
|
FWIW, I made a copy of the DLL before running sync, restarted Reaper (5.65pre16) and got this ( image), no biggie just thought I'd let you know. I've never seen an app complain about a copy of a file before.
THANKS!
|
|
|
11-22-2017, 09:37 PM
|
#426
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
@Edgemeal This verification exists to prevent REAPER from loading two ReaPacks at the same time. It also prevents new users from installing it in the wrong directory (eg. Plugins in Program Files) or under an arbitrary filename by mistake.
SWS does a similar check for the same purpose (preventing two SWSes from being loaded). https://i.imgur.com/ep3BUkV.png
You can rename the copy to be something REAPER won't attempt to load such as "reaper_reapack64.dll.old".
Last edited by cfillion; 11-23-2017 at 02:04 AM.
|
|
|
11-22-2017, 11:48 PM
|
#427
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 13,792
|
Quote:
Originally Posted by cfillion
ReaPack v1.2
|
Sound like great news !
Thanks a lot !
-Michael
|
|
|
11-23-2017, 01:52 AM
|
#428
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by cfillion
ReaPack v1.2
|
Thanks a lot!
I see this as one of the most important contributions on the Reaper scripting/3rdParty-side.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
11-23-2017, 02:16 PM
|
#429
|
Human being with feelings
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,752
|
Wow. Excellent news and thanks for this.
__________________
Ici on parles Franglais
|
|
|
11-23-2017, 04:48 PM
|
#430
|
Human being with feelings
Join Date: Aug 2013
Posts: 29
|
ReaPack not showing up anywhere.
Im running Reaper(64) v5.62
with ReaPack v1.2
in this folder C:\Program Files\REAPER\UserPlugins
I have relaunched several times
I went to the menu editor and RESET all menus
Still not showing up in the menu
Not showing up in Actions list
Nothing too exotic about my installation. It's not a portable install. I did notice that UserPlugins did not exist so I created it.
I'm running windows 10 (up to date)
Any ideas?
|
|
|
11-23-2017, 04:54 PM
|
#431
|
Human being with feelings
Join Date: Aug 2013
Posts: 29
|
Quote:
Originally Posted by spasmoid
Im running Reaper(64) v5.62
with ReaPack v1.2
in this folder C:\Program Files\REAPER\UserPlugins
I have relaunched several times
I went to the menu editor and RESET all menus
Still not showing up in the menu
Not showing up in Actions list
Nothing too exotic about my installation. It's not a portable install. I did notice that UserPlugins did not exist so I created it.
I'm running windows 10 (up to date)
Any ideas?
|
Okay when I was reading through everything, I did notice that someone mentioned something about a roaming profile. Is this the Reaper installation default? Am I the only one in this thread who has this folder?
C:\Users\[uname]\AppData\Roaming\REAPER\UserPlugins
Anyway, seems to be working now.
Might be a good idea to mention this possibility in the installation guide.
|
|
|
11-23-2017, 04:55 PM
|
#432
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by spasmoid
Im running Reaper(64) v5.62
with ReaPack v1.2
in this folder C:\Program Files\REAPER\UserPlugins
|
You should put the plugin in :
Code:
C:\Users\YourUserName\AppData\Roaming\REAPER\UserPlugins
It may be a bit annoying to get into, as Windows hides the AppData folder by default...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
11-23-2017, 06:24 PM
|
#433
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Quote:
Originally Posted by spasmoid
C:\Users\[uname]\AppData\Roaming\REAPER\UserPlugins
Anyway, seems to be working now.
Might be a good idea to mention this possibility in the installation guide.
|
That's the default resource folder directory. Doing Options > Show REAPER resource path in explorer/finder from REAPER opens that folder.
|
|
|
11-30-2017, 03:30 PM
|
#434
|
Human being with feelings
Join Date: May 2014
Location: Norway
Posts: 973
|
I added a script to the ReaTeam package, for tempo-mapping based on markers.
Edit: Apparently, there is an SWS action that does this exact thing more or less, so the script might be superfluous.
Last edited by Mordi; 11-30-2017 at 11:18 PM.
|
|
|
12-14-2017, 10:32 AM
|
#435
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
ReaPack v1.2.1
This is a bugfix update mainly for compatibility with the resource path encoding changes of REAPER 5.70 on Windows. This release includes a few other fixes and changes as well.
https://reapack.com/release-notes/v1.2
|
|
|
12-15-2017, 03:25 PM
|
#436
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 4,960
|
@Christian: what is the suggested way to add an external "MIDI functions.lua"?
Would I put it in the folder "MIDI Editor" or "Functions"?
And how to I tell ReaPack that a script is depending on "MIDI functions.lua",
simply by adding @provides 'MIDI functions.lua' to the script?
|
|
|
12-15-2017, 03:33 PM
|
#437
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
First put @noindex as header in the function file so reapack-index won't think it's a package of its own.
Then, yes, put @provides MIDI functions.lua in the header of your script to add it to the file list. It can be in any folder of your repository. For example: @provides ../Functions/MIDI functions.lua.
Note that only one unique package may own a particular filename on the user's computer. If you need to share this function file among multiple packages it must be installed under a different name for each. Using reapack-index this can be done like this: @provides ../Functions/MIDI functions.lua > The Script Name/MIDI functions.lua.
Last edited by cfillion; 12-15-2017 at 03:42 PM.
|
|
|
12-15-2017, 03:48 PM
|
#438
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 4,960
|
Hey Christian, thanks for the quick reply!
Quote:
Originally Posted by cfillion
First put @noindex as header in the function file so reapack-index won't think it's a package on its own.
Then, yes, put @provides MIDI functions.lua in the header of your script to add it to the file list. It can be in any folder of your repository. For example: @provides ../Functions/MIDI functions.lua.
|
Okay, great! The spaces in the file are no problem? Or will I need to put the filename in '' ?
Quote:
Originally Posted by cfillion
Note that only one unique package can own a particular filename on the user's computer. If you need to share this function file among multiple packages it must be installed under a different name for each. Using reapack-index this can be done like this: @provides ../Functions/MIDI functions (path on the repository).lua > ../Functions/MIDI functions (unique name of your choice).lua.
|
Sorry, I'm confused, is a package a single script or a complete repository?
Let me explain, what I got. I have several transpose scripts. They all will use a function in MIDI functions.lua. Will this work?
|
|
|
12-15-2017, 04:24 PM
|
#439
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,534
|
Spaces are fine. Each line in Browse packages is a package. Packages may contain multiple scripts and files. Repositories contain multiple packages. Everything with a @version number and metadata is a package.
I meant that to reuse a file in multiple packages it must be saved under a different filename for each:
Code:
-- @description Package 1
-- @version 1.0
-- @provides ../Functions/MIDI functions.lua > Package 1/MIDI functions.lua
local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]')
dofile(path .. "Package 1/MIDI functions.lua")
Code:
-- @description Package 2
-- @version 1.0
-- @provides ../Functions/MIDI functions.lua > Package 2/MIDI functions.lua
local path = ({reaper.get_action_context()})[2]:match('^.+[\\//]')
dofile(path .. "Package 2/MIDI functions.lua")
But in the case of your transposition scripts there are two better ways. First they could be released as a single package sharing the same version, changelog and other metadata.
Additionally it can be made as a single source file on the repository and have ReaPack install that 10 times under different names. (Assuming the scripts are all identical except for the interval variable.) Like this:
sr_Transpose notes.lua
Code:
-- @description Transpose notes
-- @version 1.0
-- @author Stephan Römer
-- @about
-- # Description
--
-- - this script transposes either all notes or selected notes by 1, 3, 5, 7 and 12 semitones up or down
-- - this script works in arrangement, MIDI Editor and Inline Editor
-- @link https://forums.cockos.com/showthread.php?p=1923923
-- @changelog + Initial release
-- @provides
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +1.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +3.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +5.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +7.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +12.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -1.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -3.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -5.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -7.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -12.lua
local script_name = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$')
interval = tonumber(script_name:match('-?%d+'))
for i = 0, reaper.CountSelectedMediaItems(0)-1 do -- loop through all selected items
-- rest of the code, no need to copy/paste across 10 files anymore :D
end
Last edited by cfillion; 12-15-2017 at 05:01 PM.
|
|
|
12-15-2017, 05:00 PM
|
#440
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 4,960
|
Quote:
Originally Posted by cfillion
Code:
-- @description Transpose notes
-- @version 1.0
-- @author Stephan Römer
-- @about
-- # Description
--
-- - this script transposes either all notes or selected notes by 1, 3, 5, 7 and 12 semitones up or down
-- - this script works in arrangement, MIDI Editor and Inline Editor
-- @link https://forums.cockos.com/showthread.php?p=1923923
-- @changelog + Initial release
-- @provides
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +1.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +3.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +5.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +7.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes +12.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -1.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -3.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -5.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -7.lua
-- [main=main,midi_editor,midi_inlineeditor] . > sr_Transpose notes -12.lua
local script_name = ({reaper.get_action_context()})[2]:match('([^/\\_]+).lua$')
interval = tonumber(script_name:match('-?%d+'))
for i = 0, reaper.CountSelectedMediaItems(0)-1 do -- loop through all selected items
-- rest of the code, no need to copy/paste across 10 files anymore :D
end
|
I see, I think I had a completely different understanding of packages.
Packages usuall carry one script, but they are not limited to do so.
They are somewhat container. The example above is pretty clever!
On the other hand, doesn't the need of duplicating the "MIDI functions.lua" defeat the purpose of swapping out the functions?
Jason (aka Tack) for example did it in a different way:
https://github.com/jtackaberry/reasc...ee/master/MIDI
Does this still conform with ReaPack?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 10:18 PM.
|