Old 01-11-2019, 08:40 AM   #721
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by amagalma View Post
Hmm, so what is a PackageEntry? I thought it meant an entry in the ReaPack Package Browser. Not all packages have dll's.. For example, if I want to check and get the info about your Song Switcher script, is this possible? Or I can get info only about dll's?
It represents an installed package. I meant dll in the context of js_ReaScriptAPI. The GetOwner API function takes a filename (either relative to the resource path or absolute) and returns a PackageEntry for the package which installed it. For example, any of these gives a PackageEntry for Song switcher if installed:

Code:
reaper.ReaPack_GetOwner('Scripts/ReaTeam Scripts/Various/cfillion_Song switcher.lua')
reaper.ReaPack_GetOwner('Scripts/ReaTeam Scripts/Various/cfillion_Song switcher/cfillion_Song switcher (next).lua')
reaper.ReaPack_GetOwner('reaper_www_root/song_switcher.html')
That API was meant mostly for this kind of usage:
Code:
function onHelpButtonClick()
  local owner = reaper.ReaPack_GetOwner(({reaper.get_action_context()})[2])
  if owner then
    reaper.ReaPack_AboutInstalledPackage(owner)
    reaper.ReaPack_FreeEntry(owner)
  end
end
To get and check js_ReaScriptAPI's installed (not loaded!) version:
Code:
function getJSAPIVersion()
  -- less usable because of the platform-dependent filename
  local owner = reaper.ReaPack_GetOwner('UserPlugins/reaper_js_ReaScriptAPI64.dylib')
  if owner then
    local version = ({reaper.ReaPack_GetEntryInfo(owner)})[7]
    reaper.ReaPack_FreeEntry(owner)
    return version
  end
end

if reaper.ReaPack_CompareVersion(getJSAPIVersion(), "1.0.4") < 0 then
  reaper.ShowConsoleMsg("js_ReaScriptAPI is too old!\n")
end
Quote:
Originally Posted by amagalma View Post
No, I haven't seen it! This is great! Thanks! Question: submitting via Upload tools creates a pull request, meaning that I still have to log in to Github and merge the branch to master?
Exactly, so that we (ReaTeam members) can check public submissions and have them tested by the bot first. Since you're a ReaTeam member, you can self-merge your PR once the indexing bot has finished its work.

Quote:
Originally Posted by amagalma View Post
Something simple like this is enough or should I do more checks?
Like that, plus ProcessQueue(true) to immediately finish importing the repository and/or refresh opened windows (see the gist linked in my post above).

Last edited by cfillion; 01-11-2019 at 09:02 AM.
cfillion is online now   Reply With Quote
Old 01-13-2019, 08:20 AM   #722
amagalma
Human being with feelings
 
Join Date: Apr 2011
Posts: 1,464
Default

Thank you so much for all the help!
amagalma is offline   Reply With Quote
Old 01-13-2019, 05:05 PM   #723
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

I would love to add my Ultraschall-API to ReaPack and I have some questions about adding my own github-repo to the ReaPack-Package-Manager and I hope, you can help.

First some general questions about it:
1. I intend to add at some point an extension-plugin, like the JS-plugin or SWS. As far as I understood, the JS-plugin can be installed via ReaPack. How does it do it? Can ReaPack unregister the plugin and runtime, install the new version and reregister it?
I tried to remove an old version of a plugin to install a new one while Reaper is running with a restart of Reaper after installation, but Reaper "blocks" the plugin by accessing it while it runs(which is logical, as Reaper is using it).
I wonder now, how ReaPack does this for the JS-Plugin?

2. I would need to install my API into the UserPlugins-folder, not the scripts-folder. Does the ReaPack-manager allow me to do that?


Now some questions about the process of adding my repo:
1. Is there a full explanation, how to do that? Some kind of manual? I just found one X-Raym wrote, but it is some time since he wrote it, so I guess, some information is outdated.

2. I read somewhere, that there's a tool, that creates the .xml-file needed by ReaPack, but where can I find it? I found on the ReaPack-site(https://reapack.com/upload) only a way to add files to the official ReaPack-repo.
Even though this would be possible to do, it would be too impractical, as I add bugfixes quite often and don't want to upload it every few days to the ReaPack-repo, but rather add my own repo instead.
Where can I find that tool and a manual to use it? And does it support a complex folder-structure with dozens of files as well?


Hope, you can help me with that.
Cheers and great work on the Package-Manager. It's one of the tools I thought "this is fantastic" the first time I ran it
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 01-13-2019, 10:39 PM   #724
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by mespotine View Post
How does it do it? Can ReaPack unregister the plugin and runtime, install the new version and reregister it?
I tried to remove an old version of a plugin to install a new one while Reaper is running with a restart of Reaper after installation, but Reaper "blocks" the plugin by accessing it while it runs(which is logical, as Reaper is using it).
I wonder now, how ReaPack does this for the JS-Plugin?
REAPER must be restarted for the new version to be loaded, but I think you're referring to Windows' limitations disallowing writing to running executables. ReaPack works around that by moving the running .dll to a temporary location on that OS. (Overwriting or deleting running executables is allowed on Unix-like systems.)

Quote:
Originally Posted by mespotine View Post
2. I would need to install my API into the UserPlugins-folder, not the scripts-folder. Does the ReaPack-manager allow me to do that?
Mark either entire packages or individual files to go in UserPlugins as being of the "extension" type. I find it odd to have Lua scripts outside of the Scripts directory, however ReaPack-installed script files must be in a subdirectory named after the repository (eg. "Scripts/Ultraschall/api.lua"). Extension files do not have this requirement.

Quote:
Originally Posted by mespotine View Post
Now some questions about the process of adding my repo:
1. Is there a full explanation, how to do that? Some kind of manual? I just found one X-Raym wrote, but it is some time since he wrote it, so I guess, some information is outdated.

I read somewhere, that there's a tool, that creates the .xml-file needed by ReaPack, but where can I find it? Where can I find that tool and a manual to use it?
The tool is reapack-index. Its user guide is at https://github.com/cfillion/reapack-index/wiki. The XML index format itself is documented at https://github.com/cfillion/reapack/wiki/Index-Format.

https://reapack.com/upload, as a GUI editor, can help generate the metadata headers for reapack-index (just don't click on "Create pull request" if you want to use your own repository instead ).

Quote:
Originally Posted by mespotine View Post
And does it support a complex folder-structure with dozens of files as well?
I see your API .zip contains a few empty directories (eg. in 3rd_party_for_everyone). ReaPack, reapack-index, and git all only deals with actual files. Using an empty hidden file named ".gitkeep" or ".keep" is common.

Last edited by cfillion; 01-13-2019 at 10:47 PM.
cfillion is online now   Reply With Quote
Old 01-16-2019, 08:15 AM   #725
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

@cfillion

Thanks for your answers

Quote:
Mark either entire packages or individual files to go in UserPlugins as being of the "extension" type. I find it odd to have Lua scripts outside of the Scripts directory, however ReaPack-installed script files must be in a subdirectory named after the repository (eg. "Scripts/Ultraschall/api.lua"). Extension files do not have this requirement.
So if I understood right, I can have ultraschall_api.lua in the UserPlugins-folder if I upload it as extension, while as script-upload, it must be in a subfolder, right?

Quote:
I see your API .zip contains a few empty directories (eg. in 3rd_party_for_everyone). ReaPack, reapack-index, and git all only deals with actual files. Using an empty hidden file named ".gitkeep" or ".keep" is common.
Thanks, added to my repo


Another question, how do you add JSFX-plugins into a running Reaper? Does Reaper need to be restarted for them to be added?

And a final question: what kinds of things can't be added using ReaPack-packagemanager? If I wanted to install the contents of a ReaperConfigZip-file from a repo using ReaPack rather than having to use ReaperConfigZip-file, what could I install and what would be missing?
e.g. could I add ini-files as well, that are stored in the RessourcesFolder?

I'm asking, as we think about using ReaPack for our Ultraschall-development.
We switched to managing the development-branch in git, however our betatesters are usually not that experienced with git to install the repo into a portable Reaper-version.
We would love to give betatesters an easy way of updating their beta-versions of Ultraschall using ReaPack.

Currently, we still would rely on building a ReaperConfigZip-file but this isn't flexible enough to represent the latest changes in the repo and slows down the pace of beta-testing...
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 01-16-2019 at 08:23 AM.
mespotine is offline   Reply With Quote
Old 01-16-2019, 08:57 AM   #726
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by mespotine View Post
So if I understood right, I can have ultraschall_api.lua in the UserPlugins-folder if I upload it as extension, while as script-upload, it must be in a subfolder, right?
That's right. The type determines the root installation directory. You can choose the type of a package and optionally override it per-file (so, if you want it to be displayed as such, you could make a "Script" package install some "extension" files in UserPlugins).

Quote:
Originally Posted by mespotine View Post
Another question, how do you add JSFX-plugins into a running Reaper? Does Reaper need to be restarted for them to be added?
Only extension plugins require a restart. REAPER detects newly added JSFX automatically.

Quote:
Originally Posted by mespotine View Post
And a final question: what kinds of things can't be added using ReaPack-packagemanager? If I wanted to install the contents of a ReaperConfigZip-file from a repo using ReaPack rather than having to use ReaperConfigZip-file, what could I install and what would be missing?
e.g. could I add ini-files as well, that are stored in the RessourcesFolder?
ReaPack packages can currently write files into the AutomationItems, ColorThemes, Data, Effects, LangPack, MIDINoteNames, ProjectTemplates, reaper_www_root, Scripts, TrackTemplates and UserPlugins directories. Writing directly to the resource directory is not allowed (unsafe, especially considering many users choose to install everything).

I'm not sure how well externally overwriting an .ini while REAPER is running would work as some settings are kept in memory...

Last edited by cfillion; 01-16-2019 at 09:10 AM.
cfillion is online now   Reply With Quote
Old 01-16-2019, 09:21 AM   #727
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

Ah, sounds good.

Would it be an option to add an API-function to ReaPack, that allows me programmatically install a ReaPack-package?
Like reaper.ReaPack_InstallPackage(string xml_file) ?

That way, I could install our git and do the rest with ini-files manually within one script, but I would need to know first, whether it was installed.
With such a function, I would be able to know that within my script.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 01-16-2019, 09:29 AM   #728
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

There is no API to manage individual packages, however you can configure your repository to install every packages it contains and synchronize. GetOwner can detect whether a package is installed.

You can also open the package browser with a filter of your choice pre-filled (BrowsePackage(searchPattern)).

(Alternatively, maybe the .ini-copying script could be included along with the rest, only waiting to be manually run after installation?)

Last edited by cfillion; 01-16-2019 at 09:38 AM.
cfillion is online now   Reply With Quote
Old 01-20-2019, 08:04 PM   #729
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

Is it mandatory to have a versions-tag in all my files? For instance, I have several .txt-files, whose functionality will break when I add a version-tag into it, as they are no MIDI-name-files.

As far as I understand, the version-tag is only necessary for the generating of the xml-file but once it is generated, it's not necessary anymore.
Meaning, I could add this version-information manually somehow into the xml-file instead leaving it out of the TXT-files, right?

And as far as I understood, I can put my files somewhere else too, like on localhost to experiment with it, right?

Edit:
The last answer I can give myself: Yes, I can put them somewhere else, even on a localhost, installation to test around before putting something into the net
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 01-20-2019 at 08:54 PM.
mespotine is offline   Reply With Quote
Old 01-21-2019, 01:17 AM   #730
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

@version is only required for the package files (files describing a package to reapack-index using metadata). If these .txt files are not packages themselves, but are instead part of some other package, they don't need anything (reapack-index will give a warning unless they have @noindex, but will ultimately ignore them nevertheless).

Yes, you can manually edit the .xml file. As for localhost: yes, and file:// URIs are also supported (on the ReaPack side).
cfillion is online now   Reply With Quote
Old 01-22-2019, 10:14 AM   #731
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

Thanks for all your answers(and I hope you don't mind more questions from me )

What element in the xml-file triggers the updating-process in the ReaPack-Manager? I suppose, a changed/added version-element tells the plugin "there's an update to consider"?
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 01-22-2019, 10:34 AM   #732
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

"Synchronize packages" updates when a version whose number is higher than the installed one is found in the XML index. Fox example:

Code:
> reaper.ReaPack_CompareVersions('1.0', '1.0.1')
{-1, ""} -- 1.0.1 is higher: update

> reaper.ReaPack_CompareVersions('2.0', '1.0.1')
{1,  ""} -- lower: do nothing

> reaper.ReaPack_CompareVersions('1.2.3', '1.2.3.0')
{0,  ""} -- same: do nothing

> reaper.ReaPack_CompareVersions('1.0beta', '1.0')
{-1, ""} -- 1.0 is higher: update

> reaper.ReaPack_CompareVersions('1.0', '2.0beta')
{-1, ""} -- 2.0beta is higher: see below
There are additional rules for handling pre-releases (versions containing alphabetical segments). Pre-releases are not automatically updated to unless the current version is also a pre-release and there are no stable releases in between.

Last edited by cfillion; 01-22-2019 at 10:44 AM.
cfillion is online now   Reply With Quote
Old 01-28-2019, 10:41 AM   #733
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

So when in doubt, I should do a quick check for a versionstring using ReaPack_CompareVersions to be safe. Good to know


Another thing, is there a way to run the synchronize-procedure(including a possible auto-install) programmatically or is it only useable by the user, clicking the synchronize-button/menuentry?

And a little Feature-Request:
Would it be possible to add a way to automatically run a script after installing an extension?
For example, Lokasenna's Gui-Lib needs a script to be run before I can use his Gui-Lib, to store some of the paths needed by his Gui-Lib. I think, it would be better, if this could be done automatically by automatically running such a script, to make it more user-friendly.
I think a simple, register this startup-script, run it once and unregister it again would be the easiest way to do it.

For myself, I need it to automatically register some of my scripts into the reaper-kb.ini. I want to add it using proper ActionCommandIDs and description-texts, which can't be done in any other way than putting it into the ini-file and after that restarting Reaper. This would be in-line with the need of restarting Reaper after installing an extension.
This could also solve my problem I described in some posts above, where I wanted to replace the ini-files in the ressources-folder, which could be done by me then automatically, before restarting Reaper.

The other option, using __startup.lua in the Scripts-folder isn't an option, as I can't know, if a user has such a script already which would be overwritten by me that way...
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 02-09-2019, 02:01 PM   #734
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,368
Default

I would like to include mouse cursor files with some of my scripts, but I am not sure about the Provide syntax that I should use.

I have tried the following (intended to install the cur file from ReaTeam/ReaScripts/MIDI editor/ into the same directory as the script), but it doesn't seem to work:
Code:
Provides: 
  [main=midi_editor,midi_inlineeditor] .
  "js_Mouse editing - Slice notes.cur"
juliansader is online now   Reply With Quote
Old 02-09-2019, 07:52 PM   #735
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by mespotine View Post
Another thing, is there a way to run the synchronize-procedure(including a possible auto-install) programmatically or is it only useable by the user, clicking the synchronize-button/menuentry?
Code:
reaper.Main_OnCommand(reaper.NamedCommandLookup('_REAPACK_SYNC'), 0)
Quote:
Originally Posted by juliansader View Post
I would like to include mouse cursor files with some of my scripts, but I am not sure about the Provide syntax that I should use.

I have tried the following (intended to install the cur file from ReaTeam/ReaScripts/MIDI editor/ into the same directory as the script), but it doesn't seem to work:
Code:
Provides: 
  [main=midi_editor,midi_inlineeditor] .
  "js_Mouse editing - Slice notes.cur"
Remove the quotes. You can use https://reapack.com/upload to upload the files and have the provides tag generated automatically for you.

Also it would be better to avoid putting js_ and .lua in the package display name (at some point in the future I'll do a repository-wide metadata cleanup).

Last edited by cfillion; 02-09-2019 at 08:29 PM.
cfillion is online now   Reply With Quote
Old 02-14-2019, 10:58 PM   #736
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

ReaPack v1.2.2rc3

Should be released as stable in a few days.

Added:
  • implement SHA-256 checksum verification for downloaded files
  • browser: add "Synchronize packages" to the menu [p=2084579]
  • browser: add "Upload packages" action to the menu opening https://reapack.com/upload
  • receipt: annotate installation type and previous version
Fixed:
  • import: fix possible crash after downloading indexes
cfillion is online now   Reply With Quote
Old 02-20-2019, 06:39 AM   #737
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 827
Default

Is there a way to tell the user, which requirements are there for a ReaPack in the index.xml-file?
Like "I need SWS version x.x.x to be installed" or "JS-Plugin version x.y.z" or something?

I haven't found something like that and would love to signal that during installation. Maybe including the possibility to open the websites(SWS)/add ReaPacks(JS-Extension) that holds the feature would be cool.
But at least a dialog that says needs feature x.y.z. to be installed to work properly..
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 02-20-2019, 09:30 PM   #738
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

There is no support for dependencies yet (there won't be a 1.3 until I do this–and much rewrites). For now scripts have to check themselves.

https://gist.github.com/cfillion/347...b9533204c765f3

Quote:
Originally Posted by mespotine View Post
But at least a dialog that says needs feature x.y.z. to be installed to work properly..
This would be easier to do than a dependency system. (If you or someone know C++ and have time to spare, contributions are welcome.)

Last edited by cfillion; 02-20-2019 at 09:46 PM.
cfillion is online now   Reply With Quote
Old 02-22-2019, 11:02 AM   #739
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 2,081
Default

is there a way to use reapack index via visual studio code (not a big problem thru cmd just asking)?

EDIT1: it works out of the box...for some reason terminal would not recognize some cmd commands and git-bash also (unknown reapack-index bla bla bla), but know it somehow works

and more important question how can I link two scripts to be downloaded? I have GUI and core script,never uploaded like this before

EDIT2: I guess its @provide but nothing is happening
Code:
--[[
 * eaScript Name: Sexan_Track_versions_v2_gui.lua
 * About: Protools style playlist, track versions (Cubase)
 * Author: SeXan
 * Licence: GPL v3
 * REAPER: 5.0
 * Extensions: SWS, JS API
 * Version: 0.0.1
 * Provides  
    [nomain] Sexan_Track_versions_core.lua
--]]
whats wrong here?

Last edited by Sexan; 02-22-2019 at 01:55 PM.
Sexan is offline   Reply With Quote
Old 02-22-2019, 04:53 PM   #740
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 12,243
Default

I had a problem with my main Reaper program, so first I exported my configuration file, then deleted the "Reaper.ini" file. Then started Reaper
and imported my configurations file.

Now I don't have ReaPack in my menu, although the reapack.dll is in my UserPlugins folder.

How do I get ReaPack back in my "Extensions" menu?
__________________
Kontakt Vid Tutorials->Create Outputs / Create Templates -|- SMDrums Free drums -|- Elk Video Productions -|- Tod's Music
Tod is online now   Reply With Quote
Old 02-22-2019, 08:41 PM   #741
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by Sexan View Post
whats wrong here?
The last line is not decorated the same way as the other lines. The p****r allows the use of any decoration style, but it must be consistent (at least per-tag). You can also use https://reapack.com/upload/reascript as a way to generate and experiment with valid header tags.

Code:
-- @description Track versions v2
-- @author SeXan
-- @version 0.0.1
-- @provides Sexan_Track_versions_core.lua
-- @about Protools style playlist, track versions (Cubase)

--[[ (these are not reapack-index tags)
 * Licence: GPL v3
 * REAPER: 5.0
 * Extensions: SWS, JS API
--]]
Quote:
Originally Posted by Tod View Post
How do I get ReaPack back in my "Extensions" menu?
Are the ReaPack actions still present in the Action List? If so, the Extensions menu was likely customized. You can add ReaPack's actions back into it using REAPER's Customize menus/toolbars window. Otherwise, it may be a 32-bit vs 64-bit mismatch causing ReaPack to not be loaded?

Last edited by cfillion; 02-22-2019 at 08:49 PM.
cfillion is online now   Reply With Quote
Old 02-23-2019, 02:04 AM   #742
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 2,081
Default

It still does not download second/core script...its "Tracks versions v2" on reapack if you wanna test. Do I need to enter some path or something? right now its located on local repo my documents/git/repo/alpha
Sexan is offline   Reply With Quote
Old 02-23-2019, 02:36 AM   #743
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Version 0.0.1 was already released so reapack-index didn't modify it. You can use the --amend option to allow editing existing releases. To rescan the git commit that fixed the header (debc068) and replace the existing v0.0.1:

Code:
reapack-index --amend --scan debc068
https://i.imgur.com/oGHZzPB.png

Last edited by cfillion; 02-23-2019 at 02:44 AM.
cfillion is online now   Reply With Quote
Old 02-23-2019, 04:08 AM   #744
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 2,081
Default

Oh yeah,now it works thank you... I was using amend wrong way... One more question, how do I know which is that "ID" of the script (debc068)?
Sexan is offline   Reply With Quote
Old 02-23-2019, 04:29 AM   #745
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Usually it would be used as just "reapack-index --amend". "--scan commit-id-or-path" is only useful for re-scanning a commit, a file, or a whole directory that had already been indexed.

debc068 (shorthand for the full SHA-1 hash: debc068cf76ebd729475274825c77298dc58485a) represents the git commit that fixed the @provides tag. I got it using git log. If you're using a git client integrated into VSCode, it should be accessible with that too. It's also visible on GitHub.

https://git-scm.com/book/en/v2/Git-B...Commit-History

Last edited by cfillion; 02-23-2019 at 04:40 AM.
cfillion is online now   Reply With Quote
Old 02-23-2019, 04:39 AM   #746
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 2,081
Default

Thank you very much!
Sexan is offline   Reply With Quote
Old 02-23-2019, 10:49 AM   #747
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 12,243
Default

Quote:
Originally Posted by cfillion View Post
Are the ReaPack actions still present in the Action List? If so, the Extensions menu was likely customized. You can add ReaPack's actions back into it using REAPER's Customize menus/toolbars window. Otherwise, it may be a 32-bit vs 64-bit mismatch causing ReaPack to not be loaded?
Thanks cfillion, yes I still see some of the scripts in the Action list. There's aslo a "reaper_reapack64.dll" file sitting
in the "UserPlugins" folder, however there are no ".dylib" or ".so" files with it like the other dll files.

There's also a reapack.ini file in the main Reaper folder.

One thing I see missing is a "Reaper.ini" file, could that have something to do with it. I recently removed it because I thought
it was corrupted, but I thought Reaper would automatically rebuild it. I guess it doesn't.

What do you think?
__________________
Kontakt Vid Tutorials->Create Outputs / Create Templates -|- SMDrums Free drums -|- Elk Video Productions -|- Tod's Music
Tod is online now   Reply With Quote
Old 02-23-2019, 08:39 PM   #748
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

I meant ReaPack's own actions, not the script themselves (https://i.imgur.com/na1KYoT.png). .dylib are for macOS and .so are for Linux.

Are you sure you're looking at the right resource path (given reaper.ini isn't created there, I'm guessing it may be somewhere else)? Options > Show REAPER resource path in explorer/finder will open the current one (if you're not already opening it using that).
cfillion is online now   Reply With Quote
Old 02-24-2019, 01:38 PM   #749
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 12,243
Default

Quote:
Originally Posted by cfillion View Post
I meant ReaPack's own actions, not the script themselves (https://i.imgur.com/na1KYoT.png). .dylib are for macOS and .so are for Linux.
Thanks cfillion, good to know about the extensions.

Regarding ReaPack's own actions, those actions are not in the actions list for this install.

However, they are in the action list for another portable install that aslo has ReaPack in the menu. From the ones shown in that picture, I've got all
but "ReaPack: About..." and "ReaPack: Upload pachages" in the actions list. However, I can't find those actions in the folder for that portable install.
Where would they be located, I've searched the main folder but can't find them anywhere?

Also, I still can't find the Reaper.ini file in Reaper install I'm working with. Reaper seems to work fine without it.

Heh heh, I'm thoroughly confused cfillion.
__________________
Kontakt Vid Tutorials->Create Outputs / Create Templates -|- SMDrums Free drums -|- Elk Video Productions -|- Tod's Music
Tod is online now   Reply With Quote
Old 02-24-2019, 04:51 PM   #750
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 12,243
Default

Just to let you know I managed to get things fixed and working.

What I did was update to the latest Reaper. Scared the heck out of me at first because it totally overwrote my
configuration, and put me back to a totally raw default Reaper. Luckily I had just saved/exported my config file
yesterday so no harm done. That's never happened to me before, what about you folks.

At any rate I'm good to go again.
__________________
Kontakt Vid Tutorials->Create Outputs / Create Templates -|- SMDrums Free drums -|- Elk Video Productions -|- Tod's Music
Tod is online now   Reply With Quote
Old 02-24-2019, 10:43 PM   #751
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,168
Default

Latest ReaPack crashes Reaper 5.97 (as well as the latest dev v5.97+dev0224a, I tried both) upon starting Reaper. (Moving the *.so file out of userplugins, Reaper starts fine.) Reaper for Linux. More info about my system in my signature.
__________________
http://petersamplification.com
Core i3-6300 - MSI B150M Mortar - 8 GB RAM - Asus Xonar DX - MX Linux (MX-18_x64) - REAPER for Linux
JamesPeters is offline   Reply With Quote
Old 02-24-2019, 11:53 PM   #752
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Try running REAPER from gdb and get a backtrace. Please send me the entire output.

Code:
gdb reaper -ex 'set pagination off' -ex run -ex bt -ex quit
cfillion is online now   Reply With Quote
Old 02-25-2019, 12:12 AM   #753
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,168
Default

Output:

Code:
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from reaper...(no debugging symbols found)...done.
Starting program: /home/james/opt/REAPER/reaper 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffcdf61700 (LWP 9537)]
[New Thread 0x7fffcd760700 (LWP 9538)]
[New Thread 0x7fffccf5f700 (LWP 9539)]
swell: dlopen() failed: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/james/.config/REAPER/UserPlugins/reaper_reapack64.so)
Error loading /home/james/.config/REAPER/UserPlugins/reaper_reapack64.so: (null)

Thread 1 "reaper" received signal SIGSEGV, Segmentation fault.
0x00007ffff7de4c7c in ?? () from /lib64/ld-linux-x86-64.so.2
#0  0x00007ffff7de4c7c in ?? () from /lib64/ld-linux-x86-64.so.2
#1  0x00007ffff7decde1 in ?? () from /lib64/ld-linux-x86-64.so.2
#2  0x00007ffff7de8644 in ?? () from /lib64/ld-linux-x86-64.so.2
#3  0x00007ffff7dec609 in ?? () from /lib64/ld-linux-x86-64.so.2
#4  0x00007ffff79b8ee9 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#5  0x00007ffff7de8644 in ?? () from /lib64/ld-linux-x86-64.so.2
#6  0x00007ffff79b9531 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#7  0x00007ffff79b8f82 in dlopen () from /lib/x86_64-linux-gnu/libdl.so.2
#8  0x00007ffff76e57bb in snd_dlopen () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#9  0x00007ffff76e0ced in ?? () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#10 0x00007ffff76e138d in snd_config_update_r () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#11 0x00007ffff76e187a in snd_config_update_ref () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#12 0x00007ffff76feb6a in snd_pcm_open () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#13 0x0000000000419f67 in ?? ()
#14 0x000000000041a650 in ?? ()
#15 0x000000000088474e in ?? ()
#16 0x00000000008867ae in ?? ()
#17 0x000000000071658a in ?? ()
#18 0x00007ffff65ff8b9 in ?? () from /home/james/opt/REAPER/libSwell.so
#19 0x00000000006ae981 in ?? ()
#20 0x00000000004136bf in ?? ()
#21 0x00007ffff6a8f2e1 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#22 0x00000000004187ea in _start ()
A debugging session is active.

	Inferior 1 [process 9532] will be killed.

Quit anyway? (y or n) y
I checked and I have libstdc++-6-dev installed. Version 6.3.0-18+deb9u1 (That includes libstdc++.so.6, but I don't know what specific version.)
__________________
http://petersamplification.com
Core i3-6300 - MSI B150M Mortar - 8 GB RAM - Asus Xonar DX - MX Linux (MX-18_x64) - REAPER for Linux
JamesPeters is offline   Reply With Quote
Old 02-25-2019, 12:58 AM   #754
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

ReaPack 1.2.2 requires GCC 7.1's libstdc++ or newer. MX Linux 18 (Debian Stretch) only provides GCC 6.3's libstdc++. The crash appears to be unrelated.

You could try installing a newer libstdc++ from Debian Buster (gcc-8-base then libstdc++6). Of course these are not officially supported by the distribution.

Last edited by cfillion; 02-25-2019 at 01:12 AM.
cfillion is online now   Reply With Quote
Old 02-25-2019, 01:57 AM   #755
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,168
Default

Thanks for the info but I'd rather not mess with dependencies. I've learned my lesson on that already.

I browsed to your releases directory, put version 1.2.1 back in my userplugins folder, then "pinned" it for now (until my distro gets those particular libraries updated).
__________________
http://petersamplification.com
Core i3-6300 - MSI B150M Mortar - 8 GB RAM - Asus Xonar DX - MX Linux (MX-18_x64) - REAPER for Linux

Last edited by JamesPeters; 02-25-2019 at 11:48 AM.
JamesPeters is offline   Reply With Quote
Old 03-03-2019, 03:50 PM   #756
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 2,899
Default

The online upload system is a thing of beauty. Well done on that!

So a few basic questions to start.

From what I can gather having looked at it - all files end up in the ReaTeam Scripts/ folder.

My Stripper script requires a lot of resource files - a basic set provided in a zip file in github - and typically I keep everything in Scripts/LBX folder.

As far as I can see - it would not be possible using this tool to keep the files in my preferred folder?


Secondly - as mentioned - the resources are currently nicely wrapped up in a zip file on github - is there any way to have this unpack to a specific location - or would I need to add each file manually to github and then add one-by-one those required by the script and place them in their specific location?

I'm not overly fussed where the actual main Lua script file ends up - it's more the location of the resources I would ideally keep in their current location - otherwise current users who choose to install via Reapack will require that they move their current resource folder (not the end of the world though!).

Another question - users of Stripper add files manually to these resources (new control graphics files/background graphics/created strips etc) - but any update to the script via Reapack must obviously leave all these resources in place and only add (merge) anything new. Typically they would download the resources once - and then any further updates are *usually* just to the main script file. There are occasions when new resource files need to be added to the resources though (If I change the skins etc). Is it possible to manage all this?

I think I can see that if I say put my main script in ReaTeam Scripts/Various/LBX/ folder and the resources in ReaTeam Scripts/Various/LBX/LBXCS_resources/ it would be acceptable if I cannot use the current location I use.

So my main query is can the zip file be unpacked - or does each file need to be separate. And when updating via Reapack - will all current files in the resources folder remain there (as would be required) - with only new or updated files being added/overwritten?

Thanks!
__________________
Projects - Reascripts - Lua:
LBX Stripper | LBX Chaos Engine | LBX Floating FX Positioner | LBX SRD Smart Knobs
Donate via Paypal
lb0 is offline   Reply With Quote
Old 03-04-2019, 12:41 AM   #757
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Germany
Posts: 6,632
Default

IMHO, the uploads done to ReaPack in this way should be "there to stay". Hence they should completely be a in a "Reaper managed" repository.

-Michael
__________________
www.boa-sorte.de
mschnell is offline   Reply With Quote
Old 03-04-2019, 01:44 PM   #758
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,545
Default

Quote:
Originally Posted by lb0 View Post
My Stripper script requires a lot of resource files - a basic set provided in a zip file in github - and typically I keep everything in Scripts/LBX folder.

As far as I can see - it would not be possible using this tool to keep the files in my preferred folder?
There's a few options for locating the resource files. It could be installed in the Data directory: reaper.GetResourcePath() .. '/Data/LBXCS resources/'. The script could look for it relative to itself: ({reaper.get_action_context()})[2]:match('^(.+)/') .. '/LBXCS resources'. The only way to get rid of the "ReaTeam Scripts" root directory in the Scripts folder would be to maintain your own repository (XML index).

Quote:
Originally Posted by lb0 View Post
So my main query is can the zip file be unpacked - or does each file need to be separate.
The contents of the package must be explicitly set. (I see the archive has empty folders: because ReaPack–like git–deals with "real" files, these can be achieved by adding a hidden empty file inside–usually ".keep".).

The file hierarchy on the repository can differ from what is installed. https://i.imgur.com/l2EZ9BZ.gif

Quote:
Originally Posted by lb0 View Post
And when updating via Reapack - will all current files in the resources folder remain there (as would be required) - with only new or updated files being added/overwritten?
ReaPack only overwrites files that are explicitly listed as being part of an installed package. Files manually created alongside the package's files are kept, even after uninstalling it.

Last edited by cfillion; 03-04-2019 at 01:52 PM.
cfillion is online now   Reply With Quote
Old 03-04-2019, 04:08 PM   #759
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 2,899
Default

Quote:
Originally Posted by cfillion View Post
...
ReaPack only overwrites files that are explicitly listed as being part of an installed package. Files manually created alongside the package's files are kept, even after uninstalling it.
Thanks for your responses. I think the Data directory would be an obvious location for the resources, and still fit in with the ReaTeams setup.

And good to know any manually added files will stay put.

I shall look into further.

It would be easy to create empty folders when Stripper starts if necessary - that will prevent me needing to provide dummy files just to get the structure correct.

I'll just need to unpack the zip file into folders in github I guess and add each file in turn via your online tool. Fortunately the basic setup is only just over a hundred files - wouldn't want to be manually adding much more than that
__________________
Projects - Reascripts - Lua:
LBX Stripper | LBX Chaos Engine | LBX Floating FX Positioner | LBX SRD Smart Knobs
Donate via Paypal
lb0 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 12:03 PM.


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