Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 08-23-2017, 07:53 AM   #401
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

Quote:
Originally Posted by nofish View Post
Is it my internet connection or does GitHub has some problems currently ?
It was GitHub: https://status.github.com/messages.
cfillion is offline   Reply With Quote
Old 08-23-2017, 07:59 AM   #402
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

I was unaware of that GitHub status page, thanks.
nofish is offline   Reply With Quote
Old 09-07-2017, 08:50 AM   #403
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

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 ?
nofish is offline   Reply With Quote
Old 09-07-2017, 12:04 PM   #404
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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...).
cfillion is offline   Reply With Quote
Old 09-07-2017, 02:20 PM   #405
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

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.
nofish is offline   Reply With Quote
Old 09-07-2017, 02:30 PM   #406
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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.
cfillion is offline   Reply With Quote
Old 09-13-2017, 02:55 AM   #407
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,956
Default

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+)
mpl is offline   Reply With Quote
Old 09-15-2017, 10:19 AM   #408
Jeffsounds
Human being with feelings
 
Jeffsounds's Avatar
 
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,460
Default

Quote:
Originally Posted by mpl View Post
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?
__________________
"TV has become nothing more than a Petri dish where this country grows its idiots." -Dr. John Becker
My First CD On Spotify - Side O' The Highway
Jeffsounds is offline   Reply With Quote
Old 09-15-2017, 12:19 PM   #409
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

Furthermore, the script "Repair missing JSFX files in the current project" can help migrate existing projects.

Quote:
Originally Posted by Jeffsounds View Post
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.
cfillion is offline   Reply With Quote
Old 09-16-2017, 03:00 AM   #410
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Quote:
Originally Posted by mpl View Post
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
Gianfini is offline   Reply With Quote
Old 09-16-2017, 05:10 AM   #411
citizenkeith
Human being with feelings
 
Join Date: Jun 2014
Location: Ohio
Posts: 975
Default

Quote:
Originally Posted by Gianfini View Post
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
citizenkeith is offline   Reply With Quote
Old 09-16-2017, 11:08 AM   #412
Jeffsounds
Human being with feelings
 
Jeffsounds's Avatar
 
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,460
Default

Quote:
Originally Posted by citizenkeith View Post
Add this repository for the latest version:
https://raw.githubusercontent.com/So...ster/index.xml
So after adding this repository I can let ReaPack delete what it wants to delete of Sonic Anomaly?
__________________
"TV has become nothing more than a Petri dish where this country grows its idiots." -Dr. John Becker
My First CD On Spotify - Side O' The Highway
Jeffsounds is offline   Reply With Quote
Old 09-16-2017, 07:45 PM   #413
me2beats
Human being with feelings
 
me2beats's Avatar
 
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
Default

I want some scripts in my repo to be added to Media Explorer section. Possible?
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 09-16-2017, 08:28 PM   #414
citizenkeith
Human being with feelings
 
Join Date: Jun 2014
Location: Ohio
Posts: 975
Default

Quote:
Originally Posted by Jeffsounds View Post
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.
citizenkeith is offline   Reply With Quote
Old 09-16-2017, 09:10 PM   #415
me2beats
Human being with feelings
 
me2beats's Avatar
 
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
Default

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.
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 09-16-2017, 10:05 PM   #416
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

Quote:
Originally Posted by me2beats View Post
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 View Post
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.
cfillion is offline   Reply With Quote
Old 09-17-2017, 09:53 AM   #417
me2beats
Human being with feelings
 
me2beats's Avatar
 
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
Default

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
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 09-17-2017, 01:44 PM   #418
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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.
cfillion is offline   Reply With Quote
Old 09-28-2017, 06:44 AM   #419
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by cfillion View Post
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.
mschnell is offline   Reply With Quote
Old 09-28-2017, 04:35 PM   #420
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

I really appreciate your long-term enthusiasm about ReaPack mschnell. Thanks!

Quote:
Originally Posted by mschnell View Post
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 View Post
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 View Post
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 View Post
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 View Post
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 View Post
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.
cfillion is offline   Reply With Quote
Old 09-29-2017, 01:56 AM   #421
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

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.
mschnell is offline   Reply With Quote
Old 09-29-2017, 06:43 AM   #422
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

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
G-Sun is offline   Reply With Quote
Old 09-29-2017, 12:42 PM   #423
Luster
Human being with feelings
 
Luster's Avatar
 
Join Date: Nov 2015
Posts: 642
Default

Quote:
Originally Posted by G-Sun View Post
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?
Luster is offline   Reply With Quote
Old 11-22-2017, 06:59 PM   #424
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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.
cfillion is offline   Reply With Quote
Old 11-22-2017, 08:08 PM   #425
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,903
Default

Quote:
Originally Posted by cfillion View Post
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!
Edgemeal is offline   Reply With Quote
Old 11-22-2017, 09:37 PM   #426
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

@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.
cfillion is offline   Reply With Quote
Old 11-22-2017, 11:48 PM   #427
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by cfillion View Post
ReaPack v1.2
Sound like great news !

Thanks a lot !

-Michael
mschnell is offline   Reply With Quote
Old 11-23-2017, 01:52 AM   #428
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by cfillion View Post
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
G-Sun is offline   Reply With Quote
Old 11-23-2017, 02:16 PM   #429
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
Default

Wow. Excellent news and thanks for this.
__________________
Ici on parles Franglais
ivansc is offline   Reply With Quote
Old 11-23-2017, 04:48 PM   #430
spasmoid
Human being with feelings
 
Join Date: Aug 2013
Posts: 29
Default 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?
spasmoid is offline   Reply With Quote
Old 11-23-2017, 04:54 PM   #431
spasmoid
Human being with feelings
 
Join Date: Aug 2013
Posts: 29
Default

Quote:
Originally Posted by spasmoid View Post
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.
spasmoid is offline   Reply With Quote
Old 11-23-2017, 04:55 PM   #432
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by spasmoid View Post
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.
Xenakios is offline   Reply With Quote
Old 11-23-2017, 06:24 PM   #433
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

Quote:
Originally Posted by spasmoid View Post
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.
cfillion is offline   Reply With Quote
Old 11-30-2017, 03:30 PM   #434
Mordi
Human being with feelings
 
Mordi's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 982
Default

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.
Mordi is offline   Reply With Quote
Old 12-14-2017, 10:32 AM   #435
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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
cfillion is offline   Reply With Quote
Old 12-15-2017, 03:25 PM   #436
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

@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?
_Stevie_ is offline   Reply With Quote
Old 12-15-2017, 03:33 PM   #437
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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.
cfillion is offline   Reply With Quote
Old 12-15-2017, 03:48 PM   #438
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Hey Christian, thanks for the quick reply!

Quote:
Originally Posted by cfillion View Post
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 View Post
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?
_Stevie_ is offline   Reply With Quote
Old 12-15-2017, 04:24 PM   #439
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,909
Default

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.
cfillion is offline   Reply With Quote
Old 12-15-2017, 05:00 PM   #440
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Quote:
Originally Posted by cfillion View Post
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?
_Stevie_ is offline   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 09:53 PM.


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