c and c drums
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 251
Drums++ 0.95
Drums++ is a programming language I designed for sequencing music through drum machines. more>>
Drums++ is a programming language I designed for sequencing music through drum machines. Drums++ program uses simple C ideas, for example // and /* */ comments and { } to seperate sections. I tried to make it as simple as possible so even a non-programmer could use it. See the docs section for more info on the language. Drums++ can both directly control your MIDI device or it can create .midi files which can be played through programs such as Microsoft Media Player.
So you might wonder why I chose to do drum sequencing this way? Well, about 10 years ago I used to write drum sequences for my music using a program on my Amiga 500 called Dynamic Drums. Dynamic Drums is probably not a very powerful drum sequencing program, but it was so easy to use. I could write an entire song on that in about 10 minutes. The problem was the samples were very cheesy.
So anyway, a few years ago my friend Jeff Blevins sold me his old Dr. Rhythm drum machine, which had much better sounds, but it was so hard to write a song. I tried downloading some MIDI programs for Linux, but they were too complicated for an idiot like me. So I decided to write my own MIDI sequencing program strictly for drums :). I figured a GUI would take me longer to write than a parser for a new programming language, so this is why I chose to make Drums++. Eventually I plan to write a GUI in either Java or GTK/C.
Drums++ is based on the features of Dynamic Drums, the only difference is you dont click on a grid for where you want your beats, you type them in a text file. Eventually I might add new features to the language if they are requested.
Enhancements:
- I added the ability to select midi channels. In version 0.94 and below, Drums++ used only midi channel 9 (which was the drum sounds naturally). In version 0.95 and above you have the option to use other midi channels allowing you to use other instruments (pianos, guitars, etc).
<<lessSo you might wonder why I chose to do drum sequencing this way? Well, about 10 years ago I used to write drum sequences for my music using a program on my Amiga 500 called Dynamic Drums. Dynamic Drums is probably not a very powerful drum sequencing program, but it was so easy to use. I could write an entire song on that in about 10 minutes. The problem was the samples were very cheesy.
So anyway, a few years ago my friend Jeff Blevins sold me his old Dr. Rhythm drum machine, which had much better sounds, but it was so hard to write a song. I tried downloading some MIDI programs for Linux, but they were too complicated for an idiot like me. So I decided to write my own MIDI sequencing program strictly for drums :). I figured a GUI would take me longer to write than a parser for a new programming language, so this is why I chose to make Drums++. Eventually I plan to write a GUI in either Java or GTK/C.
Drums++ is based on the features of Dynamic Drums, the only difference is you dont click on a grid for where you want your beats, you type them in a text file. Eventually I might add new features to the language if they are requested.
Enhancements:
- I added the ability to select midi channels. In version 0.94 and below, Drums++ used only midi channel 9 (which was the drum sounds naturally). In version 0.95 and above you have the option to use other midi channels allowing you to use other instruments (pianos, guitars, etc).
Download (0.017MB)
Added: 2006-04-07 License: GPL (GNU General Public License) Price:
1297 downloads
C-Cramp 2DR1
C-Cramp project is an interface to MySQL for managing information for small radio stations. more>>
C-Cramp project is an interface to MySQL for managing information for small radio stations.
C-Cramp (the C-Cramp College Radio Audio Management Program) is a Web-based frontend to MySQL for managing the types of things that small radio stations might need: audio files, data, and "metadata"; DJ and staff information, schedules, live music and program logs, and all sorts of other data.
Currently, a cross-platform PHP application is the focus of the project, but more features and types of programs are planned that will hopefully enable easier playback, storage, loading, and entering for all types of applicable data.
Enhancements:
- doesnt require a faulty cddb-connected program that doesnt exist
- easier manual data entry for albums / tracks
- its possible now to add promoters/traffic events/non-new CDs/users
- A rudimentary Search function is implimented!
- Some preliminary stats functions work alright!
- Viewing of albums by promoter with heavy/medium/light rating
- md5-encrypted passwords for users
- updated a lot of old code
- prepared for eventual "theming" capabilities
- and a whole lot more!
<<lessC-Cramp (the C-Cramp College Radio Audio Management Program) is a Web-based frontend to MySQL for managing the types of things that small radio stations might need: audio files, data, and "metadata"; DJ and staff information, schedules, live music and program logs, and all sorts of other data.
Currently, a cross-platform PHP application is the focus of the project, but more features and types of programs are planned that will hopefully enable easier playback, storage, loading, and entering for all types of applicable data.
Enhancements:
- doesnt require a faulty cddb-connected program that doesnt exist
- easier manual data entry for albums / tracks
- its possible now to add promoters/traffic events/non-new CDs/users
- A rudimentary Search function is implimented!
- Some preliminary stats functions work alright!
- Viewing of albums by promoter with heavy/medium/light rating
- md5-encrypted passwords for users
- updated a lot of old code
- prepared for eventual "theming" capabilities
- and a whole lot more!
Download (0.93MB)
Added: 2006-10-28 License: GPL (GNU General Public License) Price:
1092 downloads
C to C++ 1.4.0
C to C++ is a Python script that converts C code to C++ code. more>>
C to C++ is a Python script that converts C code to C++ code.
The main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
<<lessThe main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
Download (0.10MB)
Added: 2005-12-02 License: GPL (GNU General Public License) Price:
1423 downloads
EasyEclipse for C and C++ 1.3.0
EasyEclipse for C and C++ is bare-bones Eclipse distro for experienced C and C++ developers who are new to Eclipse. more>>
EasyEclipse for C and C++ is bare-bones Eclipse distro for experienced C and C++ developers who are new to Eclipse.
EasyEclipse for C and C++ is all you need to start developing C and C++ code with Eclipse.
This distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general C and C++ development:
- Eclipse C and C++ Development Tool 3.1.1 - Create, compile, tests and debug and C and C++ applications and programs..
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
Miscellaneous:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
<<lessEasyEclipse for C and C++ is all you need to start developing C and C++ code with Eclipse.
This distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general C and C++ development:
- Eclipse C and C++ Development Tool 3.1.1 - Create, compile, tests and debug and C and C++ applications and programs..
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
Miscellaneous:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
Download (101.3MB)
Added: 2007-07-11 License: Eclipse Public License Price:
838 downloads
Common C++ RTP 1.5.0
Common C++ RTP is a threadsafe RTP stack for use with Common C++. more>>
GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF (see RFC 3550, RFC 3551 and RFC 3555). ccRTP is a C++ library based on GNU Common C++ which provides a high performance, flexible and extensible standards-compliant RTP stack with full RTCP support. The design and implementation of ccRTP make it suitable for high capacity servers and gateways as well as personal client applications.
In designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
<<lessIn designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
Download (0.54MB)
Added: 2006-10-02 License: GPL (GNU General Public License) Price:
1133 downloads
Obfuscated Tiny C Compiler
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler. more>>
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (IOCCC) in 2002.
My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
<<lessMy goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
Download (0.004MB)
Added: 2006-03-29 License: GPL (GNU General Public License) Price:
1318 downloads
AspeCt-oriented C 0.7
AspeCt-oriented C implements an aspect-oriented extension to C. more>>
AspeCt-oriented C project implements an aspect-oriented extension to C and offers one possible language design for an aspect-oriented C language.
Main features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
<<lessMain features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
Download (19.7MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
810 downloads
c-nocem 3.7
c-nocem project is a program for the easy and efficient application of the NoCeM protocol on the news spool. more>>
c-nocem project is a program for the easy and efficient application of the NoCeM protocol on the news spool. Which means, articles for which a NoCeM with "action=hide" is accepted, will be deleted from your news system as if they had been cancelled. With the installation described below, these will be processed as fast as possible and should work like real cancels.
Unlike the standard implementation of NoCeM, this version is optimized for the most common case of "spam cancels". In fact, it can do nothing else. It can not be run by a normal user, it does not need or manipulate state like .newsrc files, it processes only "hide" actions, and that only by actually deleting the articles.
c-nocem is designed for easy setup and fast run and needs no maintenance.
<<lessUnlike the standard implementation of NoCeM, this version is optimized for the most common case of "spam cancels". In fact, it can do nothing else. It can not be run by a normal user, it does not need or manipulate state like .newsrc files, it processes only "hide" actions, and that only by actually deleting the articles.
c-nocem is designed for easy setup and fast run and needs no maintenance.
Download (0.044MB)
Added: 2007-01-25 License: Public Domain Price:
1002 downloads
Virtual Drum Machine 0.3
Virtual Drum Machine is a simple drum machine. more>>
Virtual Drum Machine is a simple drum machine.
It works for little endian/linux kind of machines. You may let it work on others machines, but you probably will get troubles with it.
You definitely need oss (or maybe alsa) for sound output, and a posix-like operating system. To let it work on a big endian machine should be painful.
You write a rhythm, then you compile it, then you are able to play it to your sound card or save it to a file.
The Virtual Drum Machine is made of
- the Rhythm Compiler,
- the runtime library.
The Virtual Drum Machine is in the public domain. Who needs a license? money makers? Protection against robbery? let me laugh... Read any text of law, you will see where the robbers reside.
A simple file would look like :
void main_rhythm(void)
{
tempo = 120;
- a
. b
. b
.
- a
.b
- a
.
. b
. b
- a c
. b
}
Install:
Do a "./configure" in the drums directory, then "make", then "make install", it should be alright. You can listen to some examples in the examples/ directory.
Who yo use it?
Write a rhythm. Compile it with "rc". Run the produced program. You are done.
See the examples/ directory to get the point.
When you run an example, try "-h" to get the available options.
It should be self-explanatory.
The rhythm compiler has several options. By running "rc --help", all should be clear.
Technical Details:
The compiler will parse the input file line by line.
If a line starts with "*" or "." (not counting leading white spaces), the whole line is seen as a rhythm line, and is transformed into C code. If not, it is passed as is to the C file.
Beware! You MUST NOT start any C code line by "*" or "."!
You can create as much functions as you want, write any C code you want. But remember that a line starting by "*" or "." is seen as a rhythm line and is translated by "rc" into C code.
You must provide a "void main_rhythm(void)" function, that will be called by the library. It is the starting point of your rhythm. It can be "void main_rhythm(int argc, char *argv[])" too, with common meaning for those parameters (non-C coders will have trouble with the Virtual Drum Machine).
You can change the tempo (ex. "tempo=100;") or the volume (ex "vol=0.4;") at any time. Each sample comes with its own volume and panning (ex. "a.vol = 0.1;" "a.pan=-0.8;"). Volumes range from 0 to what you want. 1 is for the normal volume. Panning ranges from -1 (left) to 1 (right). 0 is center. All values are double. You can use "volume" instead of "vol", and "panning" instead of "pan". There is no global panning, if you want all left, set all samples to left.
To run in stereo mode, dont forget "-s" when running the generated program. It is mono by default.
You absolutely need to compile and run the examples, and read them to get the point out of it!
The "rc.conf" file contains configuration informations. You specify the sample by "sample" followed by its name (the one you will use in your rhythm files), then the file that will be played. The name of the sample must start by a letter, followed by letters and/or numbers (it must be a valid C identifier, without "_" though). The configuration file contains the install directory, used by "rc" to compile your rhythms. Take a look at the one that is provided to see how to use it.
The sound files are simple wav files. They all should be of the same rate, which can be specified to the generated program, using the "-f" option (44100 is the default). (The library only handles very basic wav files, if yours dont work, you probably will have to modify the library for the program to handle it.)
When you add a sample, you must modify "rc.conf" for the changes to appear. The samples are hard-linked to the produced program, so if you change "sample a /some/dir/file1.wav" by "sample a /one/other/dir/file2.wav" in the configuration file, the previously generated programs will still use "/some/dir/file1.wav". You will have to compile them again to take the changes into account.
Enhancements:
- The code has been modified to let gcc 4 compile it.
<<lessIt works for little endian/linux kind of machines. You may let it work on others machines, but you probably will get troubles with it.
You definitely need oss (or maybe alsa) for sound output, and a posix-like operating system. To let it work on a big endian machine should be painful.
You write a rhythm, then you compile it, then you are able to play it to your sound card or save it to a file.
The Virtual Drum Machine is made of
- the Rhythm Compiler,
- the runtime library.
The Virtual Drum Machine is in the public domain. Who needs a license? money makers? Protection against robbery? let me laugh... Read any text of law, you will see where the robbers reside.
A simple file would look like :
void main_rhythm(void)
{
tempo = 120;
- a
. b
. b
.
- a
.b
- a
.
. b
. b
- a c
. b
}
Install:
Do a "./configure" in the drums directory, then "make", then "make install", it should be alright. You can listen to some examples in the examples/ directory.
Who yo use it?
Write a rhythm. Compile it with "rc". Run the produced program. You are done.
See the examples/ directory to get the point.
When you run an example, try "-h" to get the available options.
It should be self-explanatory.
The rhythm compiler has several options. By running "rc --help", all should be clear.
Technical Details:
The compiler will parse the input file line by line.
If a line starts with "*" or "." (not counting leading white spaces), the whole line is seen as a rhythm line, and is transformed into C code. If not, it is passed as is to the C file.
Beware! You MUST NOT start any C code line by "*" or "."!
You can create as much functions as you want, write any C code you want. But remember that a line starting by "*" or "." is seen as a rhythm line and is translated by "rc" into C code.
You must provide a "void main_rhythm(void)" function, that will be called by the library. It is the starting point of your rhythm. It can be "void main_rhythm(int argc, char *argv[])" too, with common meaning for those parameters (non-C coders will have trouble with the Virtual Drum Machine).
You can change the tempo (ex. "tempo=100;") or the volume (ex "vol=0.4;") at any time. Each sample comes with its own volume and panning (ex. "a.vol = 0.1;" "a.pan=-0.8;"). Volumes range from 0 to what you want. 1 is for the normal volume. Panning ranges from -1 (left) to 1 (right). 0 is center. All values are double. You can use "volume" instead of "vol", and "panning" instead of "pan". There is no global panning, if you want all left, set all samples to left.
To run in stereo mode, dont forget "-s" when running the generated program. It is mono by default.
You absolutely need to compile and run the examples, and read them to get the point out of it!
The "rc.conf" file contains configuration informations. You specify the sample by "sample" followed by its name (the one you will use in your rhythm files), then the file that will be played. The name of the sample must start by a letter, followed by letters and/or numbers (it must be a valid C identifier, without "_" though). The configuration file contains the install directory, used by "rc" to compile your rhythms. Take a look at the one that is provided to see how to use it.
The sound files are simple wav files. They all should be of the same rate, which can be specified to the generated program, using the "-f" option (44100 is the default). (The library only handles very basic wav files, if yours dont work, you probably will have to modify the library for the program to handle it.)
When you add a sample, you must modify "rc.conf" for the changes to appear. The samples are hard-linked to the produced program, so if you change "sample a /some/dir/file1.wav" by "sample a /one/other/dir/file2.wav" in the configuration file, the previously generated programs will still use "/some/dir/file1.wav". You will have to compile them again to take the changes into account.
Enhancements:
- The code has been modified to let gcc 4 compile it.
Download (0.67MB)
Added: 2006-02-08 License: Public Domain Price:
943 downloads
C::Scan 0.74
C::Scan is a Perl module that can scan C language files for easily recognized constructs. more>>
C::Scan is a Perl module that can scan C language files for easily recognized constructs.
SYNOPSIS
$c = new C::Scan filename => $filename, filename_filter => $filter,
add_cppflags => $addflags;
$c->set(includeDirs => [$Config::Config{shrpdir}]);
my $fdec = $c->get(parsed_fdecls);
This description is VERY incomplete.
This module uses Data::Flow interface, thus one uses it in the following fashion:
$c = new C::Scan(attr1 => $value1, attr2 => $value2);
$c->set( attr3 => $value3 );
$value4 = $c->get(attr4);
Attributes are depending on some other attributes. The only required attribute, i.e., the attribute which should be set, is filename, which denotes which file to parse.
All other attributes are either optional, or would be calculated basing on values of required and optional attributes.
<<lessSYNOPSIS
$c = new C::Scan filename => $filename, filename_filter => $filter,
add_cppflags => $addflags;
$c->set(includeDirs => [$Config::Config{shrpdir}]);
my $fdec = $c->get(parsed_fdecls);
This description is VERY incomplete.
This module uses Data::Flow interface, thus one uses it in the following fashion:
$c = new C::Scan(attr1 => $value1, attr2 => $value2);
$c->set( attr3 => $value3 );
$value4 = $c->get(attr4);
Attributes are depending on some other attributes. The only required attribute, i.e., the attribute which should be set, is filename, which denotes which file to parse.
All other attributes are either optional, or would be calculated basing on values of required and optional attributes.
Download (0.014MB)
Added: 2006-07-06 License: GPL (GNU General Public License) Price:
1207 downloads
TCLink 3.4-C
TCLink provides a client for running credit card transactions over TCP/IP. more>>
TCLink provides a client for running credit card transactions over TCP/IP.
TCLink is a client for running credit card or ACH (electronic check) transactions over TCP/IP, via the TrustCommerce gateway. It features a simple, cross-platform protocol, fail-over server support, and encrypts communications using the OpenSSL library.
It includes a test merchant account, so that you can run demo transactions out of the box. PHP, Python, Perl, Ruby, and C language implementations are available as seperate archives from the project homepage.
Main features:
- A simple, cross-platform protocol
- Encryption via SSL and trusted server certificate authentication
- Fast transactions times (average about 1.2 seconds end-to-end)
- Fail-over to geographically distributed servers for extreme reliability
- Available for numerous platforms and languages
<<lessTCLink is a client for running credit card or ACH (electronic check) transactions over TCP/IP, via the TrustCommerce gateway. It features a simple, cross-platform protocol, fail-over server support, and encrypts communications using the OpenSSL library.
It includes a test merchant account, so that you can run demo transactions out of the box. PHP, Python, Perl, Ruby, and C language implementations are available as seperate archives from the project homepage.
Main features:
- A simple, cross-platform protocol
- Encryption via SSL and trusted server certificate authentication
- Fast transactions times (average about 1.2 seconds end-to-end)
- Fail-over to geographically distributed servers for extreme reliability
- Available for numerous platforms and languages
Download (0.087MB)
Added: 2007-03-14 License: LGPL (GNU Lesser General Public License) Price:
955 downloads
C++ base 1.0
C++ base is a base class suite contains several powerful c++ base classes for basic encapsulation. more>>
C++ base is a base class suite contains several powerful c++ base classes for basic encapsulation of low level operating system calls and basic library functions.
Further packages you may access from this page require the installation of this base package
<<lessFurther packages you may access from this page require the installation of this base package
Download (0.10MB)
Added: 2006-10-23 License: GPL (GNU General Public License) Price:
1097 downloads
DigiBand 1.0
DigiBand is a full home version Drumming/Guitar simulator. more>>
DigiBand is a full home version Drumming/Guitar simulator. It isnt just intended to be a simulator, but a uniquely refreshing new experience. The project is much different than simulators already out there.
Main features:
- DigiBand supports both GDA and DTX file formats using a "Prefered" option, which can be modified in the games settings.ini file.
- DigiBand can Support up to 3 players Simutaneously!
- Digiband has a unique "Jukebox" mode which allows you to hear the songs notes before you play it, as well as other surprises.
- DigiBand also supports theming for UI customization, and uses transparent PNG images, avis, mp3s, and Cabbit Models for its UI system.
- DigiBand plays and converts xa audio files for ease of song editing.
- Digiband saves your highscores with maxcombo so you can clock how well you are doing.
- DigiBand allows Multiple players, playing bass or guitar with a drum player to all have seperate difficulties and styles.
- DigiBand sorts songs in a categorized "DDR" style interface, with slight adjustments for ease of use!
- DigiBand uses the internal system clock to maintain audio to note synchronization thanks to SDL.
- DigiBand allows users to sync up their songs on the fly. If it feels like youre being rushed or delayed, just sync it up by pressing F11/F12.
<<lessMain features:
- DigiBand supports both GDA and DTX file formats using a "Prefered" option, which can be modified in the games settings.ini file.
- DigiBand can Support up to 3 players Simutaneously!
- Digiband has a unique "Jukebox" mode which allows you to hear the songs notes before you play it, as well as other surprises.
- DigiBand also supports theming for UI customization, and uses transparent PNG images, avis, mp3s, and Cabbit Models for its UI system.
- DigiBand plays and converts xa audio files for ease of song editing.
- Digiband saves your highscores with maxcombo so you can clock how well you are doing.
- DigiBand allows Multiple players, playing bass or guitar with a drum player to all have seperate difficulties and styles.
- DigiBand sorts songs in a categorized "DDR" style interface, with slight adjustments for ease of use!
- DigiBand uses the internal system clock to maintain audio to note synchronization thanks to SDL.
- DigiBand allows users to sync up their songs on the fly. If it feels like youre being rushed or delayed, just sync it up by pressing F11/F12.
Download (30.5MB)
Added: 2007-07-30 License: Freeware Price:
835 downloads
Drum Count 1.3
Drum count is a free software created to count drum hits in real-time. more>>
Drum count is a free software created to count drum hits in real-time. Its a useful practice tool for drummers, and its really easy to use!
<<less Download (0.015MB)
Added: 2007-06-29 License: GPL (GNU General Public License) Price:
850 downloads
Download (21.4MB)
Added: 2005-06-17 License: GPL (GNU General Public License) Price: $99
1590 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above c and c drums search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed