1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Minor URL additions and introjucer work.

This commit is contained in:
Julian Storer 2011-08-18 12:43:49 +01:00
parent 64ee6d54d9
commit 8aa60b9361
27 changed files with 279 additions and 91 deletions

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_basics",
"name": "JUCE audio and midi data classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_devices",
"name": "JUCE audio and midi I/O device classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes to play and record from audio and midi i/o devices.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_formats",
"name": "JUCE audio file format codecs",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for reading and writing various audio file formats.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_plugin_client",
"name": "JUCE audio plugin wrapper classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for building VST, RTAS and AU plugins.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_processors",
"name": "JUCE audio plugin hosting classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for loading and playing VST, AU, or internally-generated audio processors.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_audio_utils",
"name": "JUCE extra audio utility classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for audio-related GUI and miscellaneous tasks.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_browser_plugin_client",
"name": "JUCE browser plugin wrapper classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for building NPAPI and ActiveX browser plugins.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_core",
"name": "JUCE core classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -173,6 +173,17 @@ namespace URLHelpers
<< (int) postData.getSize() << "\r\n";
}
}
void concatenatePaths (String& path, const String& suffix)
{
if (! path.endsWithChar ('/'))
path << '/';
if (suffix.startsWithChar ('/'))
path += suffix.substring (1);
else
path += suffix;
}
}
String URL::toString (const bool includeGetParameters) const
@ -221,7 +232,7 @@ String URL::getScheme() const
return url.substring (0, URLHelpers::findStartOfDomain (url) - 1);
}
const URL URL::withNewSubPath (const String& newPath) const
URL URL::withNewSubPath (const String& newPath) const
{
int start = URLHelpers::findStartOfDomain (url);
while (url[start] == '/')
@ -234,14 +245,14 @@ const URL URL::withNewSubPath (const String& newPath) const
if (startOfPath > 0)
u.url = url.substring (0, startOfPath);
if (! u.url.endsWithChar ('/'))
u.url << '/';
if (newPath.startsWithChar ('/'))
u.url << newPath.substring (1);
else
u.url << newPath;
URLHelpers::concatenatePaths (u.url, newPath);
return u;
}
URL URL::getChildURL (const String& subPath) const
{
URL u (*this);
URLHelpers::concatenatePaths (u.url, subPath);
return u;
}
@ -328,17 +339,17 @@ XmlElement* URL::readEntireXmlStream (const bool usePostCommand) const
}
//==============================================================================
const URL URL::withParameter (const String& parameterName,
const String& parameterValue) const
URL URL::withParameter (const String& parameterName,
const String& parameterValue) const
{
URL u (*this);
u.parameters.set (parameterName, parameterValue);
return u;
}
const URL URL::withFileToUpload (const String& parameterName,
const File& fileToUpload,
const String& mimeType) const
URL URL::withFileToUpload (const String& parameterName,
const File& fileToUpload,
const String& mimeType) const
{
jassert (mimeType.isNotEmpty()); // You need to supply a mime type!
@ -348,7 +359,7 @@ const URL URL::withFileToUpload (const String& parameterName,
return u;
}
const URL URL::withPOSTData (const String& postData_) const
URL URL::withPOSTData (const String& postData_) const
{
URL u (*this);
u.postData = postData_;

View file

@ -94,7 +94,20 @@ public:
E.g. if the URL is "http://www.xyz.com/foo?x=1" and you call this with
"bar", it'll return "http://www.xyz.com/bar?x=1".
*/
const URL withNewSubPath (const String& newPath) const;
URL withNewSubPath (const String& newPath) const;
/** Returns a new URL that refers to a sub-path relative to this one.
E.g. if the URL is "http://www.xyz.com/foo" and you call this with
"bar", it'll return "http://www.xyz.com/foo/bar". Note that there's no way for
this method to know whether the original URL is a file or directory, so it's
up to you to make sure it's a directory. It also won't attempt to be smart about
the content of the childPath string, so if this string is an absolute URL, it'll
still just get bolted onto the end of the path.
@see File::getChildFile
*/
URL getChildURL (const String& subPath) const;
//==============================================================================
/** Returns a copy of this URL, with a GET or POST parameter added to the end.
@ -105,8 +118,8 @@ public:
would produce a new url whose toString(true) method would return
"www.fish.com?amount=some+fish".
*/
const URL withParameter (const String& parameterName,
const String& parameterValue) const;
URL withParameter (const String& parameterName,
const String& parameterValue) const;
/** Returns a copy of this URl, with a file-upload type parameter added to it.
@ -116,9 +129,9 @@ public:
Note that the filename is stored, but the file itself won't actually be read
until this URL is later used to create a network input stream.
*/
const URL withFileToUpload (const String& parameterName,
const File& fileToUpload,
const String& mimeType) const;
URL withFileToUpload (const String& parameterName,
const File& fileToUpload,
const String& mimeType) const;
/** Returns a set of all the parameters encoded into the url.
@ -154,7 +167,7 @@ public:
This data will only be used if you specify a post operation when you call
createInputStream().
*/
const URL withPOSTData (const String& postData) const;
URL withPOSTData (const String& postData) const;
/** Returns the data that was set using withPOSTData().
*/

View file

@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 2
#define JUCE_MINOR_VERSION 0
#define JUCE_BUILDNUMBER 1
#define JUCE_BUILDNUMBER 2
/** Current Juce version number.

View file

@ -39,7 +39,6 @@ public:
class ZipFile::ZipInputStream : public InputStream
{
public:
//==============================================================================
ZipInputStream (ZipFile& file_, ZipFile::ZipEntryInfo& zei)
: file (file_),
zipEntryInfo (zei),
@ -127,9 +126,7 @@ public:
return true;
}
private:
//==============================================================================
ZipFile& file;
ZipEntryInfo zipEntryInfo;
int64 pos;

View file

@ -1,7 +1,7 @@
{
"id": "juce_cryptography",
"name": "JUCE cryptography classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_data_structures",
"name": "JUCE data model helper classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for undo/redo management, and smart data structures.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_events",
"name": "JUCE message and event handling classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_graphics",
"name": "JUCE graphics classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_gui_basics",
"name": "JUCE GUI core classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Basic user-interface components and related classes.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_gui_extra",
"name": "JUCE extended GUI classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Miscellaneous GUI classes for specialised tasks.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_opengl",
"name": "JUCE OpenGL classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for rendering OpenGL in a JUCE window.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",

View file

@ -1,7 +1,7 @@
{
"id": "juce_video",
"name": "JUCE video playback and capture classes",
"version": "2.0.1",
"version": "2.0.2",
"description": "Classes for playing video and capturing camera input.",
"website": "http://www.juce.com/juce",
"license": "GPL/Commercial",