ah, 10 years
November 20, 2015
I have spent about 27% of my life programming REAPER! That's not entirely true -- I've done other things in the last 10 years, like eating and occasionally sleeping, but you get the idea. It is, by a huge margin, the longest I've worked on anything, ever*. Happy days.
November 20, 2015
Here is a commit from today's date, around this time, in 2005. Most of the changes did not survive the decade, but the files still exist at least.
commit 64bd59b56fb4edac13d264a516d194aa9715a09d Author: Justin <justin@localhost> Date: Sun Nov 20 18:51:40 2005 +0000 diff --git a/jmde/mediaitem.h b/jmde/mediaitem.h index 8fbc575..c272d1d 100644 --- a/jmde/mediaitem.h +++ b/jmde/mediaitem.h @@ -4,23 +4,47 @@ #include "pcmsrc.h" #include "../WDL/string.h" +#define SOURCE_TYPE_MEDIAITEM 0x1000 #define WM_USER_RESIZECHILD (WM_USER+1020) -class MediaItem +class MediaItem : public PCM_source { public: MediaItem(); - ~MediaItem() { delete m_src; } + virtual ~MediaItem() { delete m_src; } - int GetNumChannels() { return m_src?m_src->GetNumChannels():0; } - int PropertiesWindow(HWND hwndParent) { return -1; } // todo: properties window + virtual PCM_source *Duplicate() + { + MediaItem *ni=new MediaItem; + + ni->m_position=m_position; + ni->m_length=m_length; + ni->m_startoffs=m_startoffs; + ni->m_loop=m_loop; + ni->m_fade_in_len = m_fade_in_len; + ni->m_fade_out_len = m_fade_out_len; + ni->m_fade_in_shape = m_fade_in_shape; + ni->m_fade_out_shape = m_fade_out_shape; + ni->m_name.Set(m_name.Get()); + ni->m_src = m_src ? m_src->Duplicate() : 0; + ni->m_volume=m_volume; + ni->m_pan=m_pan; + ni->m_ui_sel = m_ui_sel; + + return ni; + } + + virtual int GetNumChannels() { return m_src?m_src->GetNumChannels():0; } + virtual int PropertiesWindow(HWND hwndParent) { return -1; } // todo: properties window // times passed to these should be global time, i.e. area not relative to m_position // should handle out-of-bounds, too, and just return silence for those regions - void GetSamples(PCM_source_transfer_t *block); - void GetPeakInfo(PCM_source_peaktransfer_t *block); + virtual void GetSamples(PCM_source_transfer_t *block); + virtual void GetPeakInfo(PCM_source_peaktransfer_t *block); + virtual double GetLength() { return m_length; } + virtual int GetType() { return SOURCE_TYPE_MEDIAITEM; } double m_position; double m_length; @@ -30,8 +54,6 @@ public: double m_fade_in_len, m_fade_out_len; int m_fade_in_shape, m_fade_out_shape; // shape 0 = linear, ... - double m_volume, m_pan; - WDL_String m_name; PCM_source *m_src; diff --git a/jmde/pcmsrc.h b/jmde/pcmsrc.h index 5a904ac..abe3a3e 100644 --- a/jmde/pcmsrc.h +++ b/jmde/pcmsrc.h @@ -81,6 +81,8 @@ class PCM_section_source : public PCM_source virtual PCM_source *Duplicate() { PCM_section_source *ns=new PCM_section_source; + ns->m_volume=m_volume; + ns->m_pan=m_pan; ns->SetSource(m_src?m_src->Duplicate():0,m_startpos,m_length,m_edgeoverlap_time); return ns; } @@ -131,6 +133,8 @@ class PCM_mixing_source : public PCM_source virtual PCM_source *Duplicate() { PCM_mixing_source *ns=new PCM_mixing_source; + ns->m_volume=m_volume; + ns->m_pan=m_pan; int x; for (x = 0; x < m_channels.GetSize(); x ++) @@ -174,6 +178,8 @@ class PCM_source_wavefile : public PCM_source virtual PCM_source *Duplicate() { PCM_source_wavefile *ns=new PCM_source_wavefile; + ns->m_volume=m_volume; + ns->m_pan=m_pan; ns->Open(m_filename.Get()); return ns; }
* Most of my projects have a lifespan measured in minutes, sometimes exceeding an hour.
Posted by William Fields on Sat 21 Nov 2015 at 02:13 from 71.175.0.x
Posted by Tale on Sat 21 Nov 2015 at 09:36 from 77.170.68.x
Posted by argee on Sun 22 Nov 2015 at 23:48 from 207.6.166.x
Posted by Gio on Fri 18 Dec 2015 at 20:03 from 94.70.27.x
Posted by Jamesd256 on Sat 27 Feb 2016 at 16:50 from 79.77.82.x
Add comment: